flask 架构,flask框架结构
序言
首先,我们使用虚拟环境隔离我的项目。例如,我们要开发一个轮询应用(一个民意调查应用程序).
mkdir poll_app
cd poll_app
虚拟的.
源框/激活常用 Python 库
我正在开发需要数据库的应用程序。因此,我总是使用烧瓶_脚本和烧瓶_迁移库。我不喜欢瓶的硬币指示器(硬币水平指示器的缩写)命令行界面(批处理脚本的命令行界面)工具。
烧瓶-脚本https://flask-script.readthedocs.io/en/latest/:号
烧瓶-迁移https://flask-migrate.readthedocs.io/en/latest/:号
和姜戈类似地,我在根文件夹中创建了一个名为manage.py的大蟒文件,例如:
从MYAPP.data.models导入数据库
从应用导入应用程序
从烧瓶_脚本导入管理器
从烧瓶_迁移导入迁移,迁移命令
数据库初始化应用程序(应用程序)
迁移=迁移(应用程序,数据库)
经理=经理(应用程序)
manager.add_command(db ,MigrateCommand)
if __name__==__main__:
manager.run()然后,我们可以对数据可进行如下操作:
python manage.py db init # -初始化迁移
python manage.py db migrate # -迁移模型
python manage.py数据库升级# -应用更改
python管理。py d B-help #-:)http://www . Sina.com/
创建新项目时,我在根文件夹中创建了一个文件app.py,然后它会像这样更改。
从应用导入应用程序
这个地方以后会变的
配置={
开发 : 配置。发展
}
if __name__==__main__:
app.config.from_object配置[开发])
app。run()主要应用文件
我还在根文件夹中创建了一个名为配置.巴拉圭的配置文件。
类基本配置(对象):
""基本配置类。生产和开发服务器将使用此字段
美国石油学会(American Petroleum Institute)调用的ORIGINS=[*] #
SECRET_KEY=您的秘密密钥
类开发(基本配置):
""开发配置。我们使用调试模式
端口=5000
调试=真
测试=假
ENV=dev
#目前我们只有开发配置。
#如果有生产,就需要传到这里。
配置={
开发 : 配置。发展
}
def configure_app(app):
应用配置就在这里。
因素
-
app :烧瓶
应用程序实例
app.config.from_object配置[开发])配置文件
我在根目录中创建一个文件夹,并将其命名为om_core,然后在奇中创建两个新的文件夹美国石油学会(美国石油协会)和数据。
美国石油学会(美国石油协会)文件储应用程序逻辑和路由。例如,我在美国石油学会(美国石油协会)中创建了一个名为用户的文件夹。
在用户文件夹生成两个名为初始化.巴拉圭和控制器.巴拉圭的文件,我们其他的美国石油学会(美国石油协会)层也会这样.controllers.py(控制器文件)应该像这样:
从瓶导入蓝图,jsonify,请求
从MYAPP.data.models导入数据库,用户
user=Blueprint(user ,__name__)
@user.route(/,methods=[GET])
极好的获取用户():
返回JSON ify({ message : Hi user :) })
@user.route(/int:id ,methods=[GET])
定义用户(身份证):
返回jsonify({ id: id })我总是会使用蓝图。
数据文件夹存储一些模型。例如,我创建了一个名为models.py的文件:
从烧瓶_sqlalchemy导入关系
从应用导入应用程序
#我们没有在这里传递应用程序实例。
db=SQLAlchemy()
类用户(数据库。型号):
用户管理模型
id=db .列(db .整数primary_key=True)
email=db .列(db .字符串(100),唯一=真)
密码=db .列(db .字符串(100))
name=db .列(db .字符串(100))
姓氏=db .列(db .字符串(100))
active=db .列(db .布尔(),默认值=真)
created_at=db .列(db .日期时间,默认值=db.func.now())
updated_at=db .列(db .日期时间,默认值=db.func.now())
def __init__(自己,电子邮件,密码,姓名,姓氏,活动,创建时间,更新时间):
self.email=电子邮件
自我密码=密码
self.name=name
self.surname=姓氏
self.active=active
self.created_at=created_at
self.updated_at=updated_at让我们回到om_core文件夹。我创建了一个名为初始化。巴拉圭的文件以将美国石油学会(美国石油协会)层用作端点。
从烧瓶进口烧瓶
从克-奥二氏分级量表进口
从配置导入基本配置
从配置导入配置应用程序
app=Flask(__name__)
从MYAPP.api .用户.控制器导入用户
Corst设置将在这里。我们以后可能会使用这个端点。
cors=CORS(应用程序,资源={
r/api/*: {
起源的:基本配置。起源
}
})
配置应用程序
app。URL _ map。strict _ slashes=False
app.register_blueprint(user,url_prefix=/api/users )在上述代码中,我已经使用了弗拉斯克CORS来允许来自不同来源的请求。如果您不想允许来自不同来源的请求,则不需要使用。
整体项目结构的屏幕截图
截图如下:
推荐教程: 《Python教程》 以上就是了解瓶项目结构的详细内容,更多请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。