flask_web 大型專案結構化
專案目錄樹
-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(藍本名.檢視函式名),需要有.