百木园-与人分享,
就是让自己快乐。

flask蓝图与项目一般结构

flask一般项目结构

初始化配置flask项目时,路由和视图是放在启动文件里的,这样不太方便我们后期的整理和查阅!

因此,我们需要将项目启动文件和路由视图分开处理!

  1. 在项目文件下创建一个apps的包,在包的初始化文件里定义一个函数,用来实现app相关的功能

init.py

from flask import Flask
import settings

def create_app():
    app = Flask(__name__) # 生成app对象
    app.config.from_object(settings) # 加载app的初始化配置
    # 注册蓝图
    app.register_blueprint() #括号里绑定对应的蓝图对象
    return app # 将app对象返回出去
  1. 然后在项目文件下的app.py里引入创建app对象的方法,得到创建好的app对象
from apps import create_app

app = create_app()

if __name__ == \'__main__\':
    # 运行app模块
    app.run()
  1. 将templates和static文件夹拖到apps这个包内,或者在创建app对象的时候添加以下代码,指定静态文件和模板文件夹的查找位置
    app = Flask(__name__,template_folder=\'\',static_folder=\'\') # 生成app对象
    template_folder和static_folder是指定查找对应静态文件和模板文件的位置

flask蓝图

  1. 在apps包里的各个模块包里新建一个view.py,用来写对应的视图和路由关系
from flask import Blueprint # 引入蓝图模块类

# 创建蓝图对象
# 第一个参数是给这个蓝图对象起一个名,第二个是导入名,url_prefix=\'/user\'其实就是路由分发的意思,防止各个蓝图的路由重复
user_bp = Blueprint(\'user\',__name__,url_prefix=\'/user\')

@user_bp.route(\'/\') #由蓝图对象实现的路由
def user_home():
    return \'用户中心\'
  1. 创建完蓝图对象,需要到包的初始化文件里注册一下蓝图对象
    app.register_blueprint() #括号里绑定对应的蓝图对象

来源:https://www.cnblogs.com/suncolor/p/16967345.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » flask蓝图与项目一般结构

相关推荐

  • 暂无文章