栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

flask框架项目学习(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

flask框架项目学习(1)

flask框架属于小型web开发,大型的一般用Djingo,或者是java后端开发。我学习flask主要是用来学一个框架,并且在学校的一些比赛基本也可以应对。关于环境可以用virtualenv,也可以用aconda。这里是当你学习一段时间flask后有一定了解,然后想要真正做小型项目的一些方法。这里我用我写的个人博客项目进行演示。

首先是配置的安装,你需要安装好mysql(要有数据库的基础,因为你的数据一定是持久化的)。然后你需要安装一下包。flask-migrate,flask-script,flask-sqlalchemy以及pymysql。其中你需要把flask-migrate进行降级使用pip install flask-migrate==2.7.0,flask进行降级pip install flask==1.1.2,不然你可能无法运行。然后你就可以开始进行一下基础的配置了。可以把项目做成下面这样:

 这里面apps是放你即将创造的对象,这个包的初始化一般比较固定,先创建一个app核心对象,再将app跟db数据库进行关联,最后使用蓝图进行关联。

#包的初始化
from flask import Flask
import settings
from apps.article.view import article_bp
from apps.user.view import user_bp
from ext import db


def create_app():
    app=Flask(__name__,template_folder='../templates',static_folder='../static')#app是一个核心对象
    app.config.from_object(settings.DevelopmentConfig)
    db.init_app(app) #将db对象与app进行了关联
    #蓝图
    app.register_blueprint(user_bp)#相当于连线
    app.register_blueprint(article_bp)

    return app

#
#app.run()就启动服务

ext包是用来放一些第三方的包(数据库就可以在这里进行连接) 。

static是用来放一些js代码,templates放前端代码。

最后就是一些配置了。新建settings.py文件。在文件中做以下设置:

class Config:
    ENV='development'
    DEBUG=True
    #SQLALCHEMY_DATAbase_URI='mysql+pymysql://root:root@hostip:port/database'
    SQLALCHEMY_DATAbase_URI='mysql+pymysql://root:Zh250360@127.0.0.1:3306/flask'
    SQLALCHEMY_TRACK_MODIFICATIONS=False
    SQLALCHEMY_ECHO=True

class DevelopmentConfig(Config):
    ENV = 'development'

class ProductionConfig(Config):
    ENV = 'production'
    DEBUG = False

 其中SQLALCHEMY_DATAbase_URI的设置一定要小心。设置好后在mysql中新建好flask数据库。

最后就是app.py的一些配置了。

from flask import Flask
from flask_migrate import Migrate,MigrateCommand
from flask_script import Manager
from apps.user.model import User
from apps.article.model import Article
from apps import create_app
from ext import db

app=create_app()
manager = Manager(app=app)

#命令工具
Migrate(app=app,db=db)
manager.add_command('db',MigrateCommand)

if __name__ == '__main__':
    manager.run()

这里套的manager的壳就是跟数据库命令相关的,这会在我的下一篇博客里说到。到这里简单的设置就完成了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749048.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号