项目目录树
-flask_web
-blog
-app
-errorblueprint
-rootblueprint
-__init__.py
-db_models.py
-email_fun.py
-factory.py
-form.py
-evnv
-__init__.py
-Config.py
-flask_web.py
-requirements.py
蓝本放在app文件夹下的两个子文件夹中,模块化成型,在创建蓝本时可以设置两个参数
template_folder 对应蓝本模板文件夹
static_folder 对应蓝本静态文件文件夹
比如:蓝本放置在 app/bp 下,则对应的模板,静态文件夹应该为 app/bp/template_folder_name(static_folder_name)
要在Create_app()函数中导入两个蓝本
def create_app(config_name):
app=Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
bootstrap.init_app(app)
db.init_app(app)
mail.init_app(app)
from blog.app.rootblueprint.rbp import rootbp
from blog.app.errorblueprint.ebp import errorbp
app.register_blueprint(rootbp)
app.register_blueprint(errorbp)
return app
使用mysql数据库时还需要在工厂文件下导入:
import pymysql
pymysql.install_as_MySQLdb()
导入模块、包时尽量写绝对路径
在蓝本下装饰器要改成 蓝本名.route(....)
url_for(蓝本名.视图函数名),需要有.