如何創(chuàng)建一個Flask項目并進行簡單配置
安裝的依賴包
flask pymysql flask_script flask_migrate flask_sqlalchemy
創(chuàng)建Flask項目(項目目錄結(jié)構(gòu))
flaskexample |---static |---templates |---app.py
在項目下創(chuàng)建settings文件,進行配置
setting.py class DevelopmentConfig: DEBUG = True SQLALCHEMY_DATABASE_URI=mysql+pymysql://用戶:密碼@host/數(shù)據(jù)庫 SQLALCHEMY_TRACK_MODIFICATIONS=False SQLALCHEMY_ECHO=True ENV='development' # 此時項目目錄結(jié)構(gòu) flaskexample |---static |---templates |---app.py |---setting.py
在項目下創(chuàng)建apps文件,在__init__.py文件下進行配置
apps.__init__.py from flask import Flask import setting from exts import db def create_app(): app = Flask(__name__, template_folser='../templates', static_folder='../static') app.config.from_object(setting.DevelopmentConfig) # 初始化ORM db.init_app(app=app) return app # 此時項目目錄結(jié)構(gòu) flaskexample |---apps |---__init__.py |---static |---templates |---app.py |---setting.py
在項目文件夾下的app.py中進行配置
app.py
from flask import Flask
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from apps import create_app
from exts import db
from apps.user import user
app = create_app()
# 配置manage
manager = Manager(app=app)
# 配置migrate命令,將相關(guān)命令交給manage
migrate = Migrate(app=app, db=db)
manager.add_command('db', MigrateCommand)
# 注冊藍圖
app.register_blueprint(user)
if __name__ == '__main__':
manager.run()
創(chuàng)建exts文件,進行ORM配置
exts.__init__.py from flask_sqlalchemy import SQLAlchemy # 配置ORM db = SQLAlchemy() # 此時項目目錄結(jié)構(gòu) flaskexample |---apps |---__init__.py |---exts |---__init__.py |---static |---templates |---app.py |---setting.py
在apps._init_.py中初始化ORM配置(已在文件中進行配置)
在app.py中注冊migrate命令相關(guān)配置(已在文件中進行配置)
在apps下創(chuàng)建app文件并創(chuàng)建相關(guān)文件(如用戶app)
# 此時項目目錄結(jié)構(gòu) flaskexample |---apps |---__init__.py |---user |---__init__.py |---view.py |---models.py |---exts |---__init__.py |---static |---templates |---app.py |---setting.py
在apps.user.models.py中編寫數(shù)據(jù)表的相關(guān)信息
user.model from exts import db class User(db.Model): username = db.Column(db.String(60), nullable=True) password = db.Column(db.String(60), nullable=True) ···
進行數(shù)據(jù)遷移
# 1. 初始化表 python app.py db init # 2. 生成遷移文件 Python app.py db migrate # 3. 進行數(shù)據(jù)遷移 python app.py db upgrate #當命令2執(zhí)行成功后自動生成migrations文件夾 # 此時項目目錄結(jié)構(gòu) flaskexample |---apps |---user |---__init__.py |---models.py |---view.py |---__init__.py |---exts |---__init__.py |---migrations |---versions |---9eef46471b52_.py |---alembic.ini |---env.py |---READEME |---script.py.mako |---static |---templates |---app.py |---setting.py
在user _init_下創(chuàng)建藍圖,并在apps的_init_下注冊
user.__init__
from flask import Blueprint
user = Blueprint("user", __name__)
之后就可以在user下的view.py中進行邏輯的處理了
以上就是如何創(chuàng)建一個Flask項目并進行簡單配置的詳細內(nèi)容,更多關(guān)于創(chuàng)建 flask項目的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python 多線程搜索txt文件的內(nèi)容,并寫入搜到的內(nèi)容(Lock)方法
今天小編就為大家分享一篇Python 多線程搜索txt文件的內(nèi)容,并寫入搜到的內(nèi)容(Lock)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python實現(xiàn)發(fā)送警告通知到企業(yè)微信方法詳解
常見的報警方式有:郵件,電話,短信,微信。本文將介紹如何利用Python發(fā)送警告通知到企業(yè)微信,文中的示例代碼有一定的參考價值,感興趣的可以了解一下2022-01-01
Python光學仿真數(shù)值分析求解波動方程繪制波包變化圖
這篇文章主要為大家介紹了Python光學仿真通過數(shù)值分析求解波動方程并繪制波包變化圖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
Python基于數(shù)列實現(xiàn)購物車程序過程詳解
這篇文章主要介紹了Python基于數(shù)列實現(xiàn)購物車程序過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
Python 格式化輸出_String Formatting_控制小數(shù)點位數(shù)的實例詳解
在本篇文章里小編給大家整理了關(guān)于Python 格式化輸出_String Formatting_控制小數(shù)點位數(shù)的實例內(nèi)容,需要的朋友們參考下。2020-02-02

