標准的Flask啟動文件


 

最近有一些同學問了我一些項目結構的問題 所以今天給大家專門講解 解耦后的項目 目錄我會分為兩種方式:一種是普通解耦 一種是多mvc解耦

 

 

首先 我沒先建立我們程序的文件夾並且在這個文件夾內寫一個和這個文件夾一樣的文件夾 然后再建立啟動主文件manage.py

 

 

然后在內部的和主文件夾一樣的文件夾內再建立一個__init__.py文件這個文件是你的生成app和app調用的所有主內容

__init__.py

from flask import Flask
from config import set1 # 導入配置文件

def create_app():
    app = Flask(__name__)

    # 導入配置文件
    app.config.from_object("config.set1") #接收配置配置文件
    app.logger.error(set1.dict)

    #導入藍圖
    from biaozhun.views.comment import ac
    from biaozhun.views.user import user
    app.register_blueprint(ac)
    app.register_blueprint(user)

    return app

 

然后在你的manage.py文件內是你的啟動文件

manage.py

from biaozhun import create_app

app =create_app()

if __name__ == "__main__":
    app.run("127.0.0.1",9980,debug = True)

 

其中的內部文件夾的目錄是templates必須是這個名字這個存放的是你的前端界面

我們把每一個模塊都放在藍圖中去實現 這個時候就用到了views,然后我沒把路由分配也交給了藍圖去實現

 

 這個里面的views的user和comment也是藍圖 

user.py

from flask import Blueprint,render_template

user = Blueprint("user",__name__) #生成藍圖對象

@user.route("/user_list") #使用藍圖對象來分發路由
def show_user():
    return render_template("user_list.html")

 

comment.py

from flask import Blueprint
from config import set1 # 導入配置文件

ac = Blueprint("account",__name__)

@ac.route("/login")

def login():
    return "登陸%s"%str(set1.dict)

然后我沒的config是我沒的配置文件有的人也喜歡叫settings都可以的

配置文件就和以前的使用是一樣的了

 

 

還有另一種的存放:

 

 

 

Flask做項目文件的時候也是需要注意很多的

在啟動文文件的時候我沒可以直接啟動也可以通過命令,這個時候就需要用到一個第三方的工具包,flask_script

 

我沒可以把實例化的app封裝到flask_script中的manage中 然后 通過這個來制定啟動server

application.py文件

from flask import Flask
from flask_script import Manager  #導入manage
from flask_sqlalchemy import SQLAlchemy

import os

class Application(Flask):

    def __init__(self,import_name):
        super(Application,self).__init__(import_name)
        self.config.from_pyfile('config/base_setting.py')#導入配置文件

        if  "ops_config" in os.environ:  # os.environ是找到你的配置文夾中對應的配置文件
            self.config.from_pyfile("config/%s_setting.py"%os.environ['ops_config'])

        db.init_app(self)

db = SQLAlchemy()

app = Application(__name__)

manage = Manager(app)  #把app進行封裝
 

 

manage.py文件

from application import app,manage
from flask_script import Server #自定義啟動服務命令 linux通過這個自定義  但是修改完成后就要要手動運行 python manage.py  runserver才可以執行文件
import www
manage.add_command("runserver",Server(host = "127.0.0.1",port = 9980,use_debugger=True))  #指定啟動的服務和端口


def main():
    # app.run("127.0.0.1",9980,debug=True)
    manage.run() 

if __name__ == "__main__":
    try:
        import sys
        sys.exit(main())
    except Exception as e:
        import traceback #通過traceback可以把所有的錯誤的信息給打印出來

        traceback.print_exc()

 

自定義啟動服務命令 linux通過這個自定義  但是修改完成后就要要手動運行 python manage.py  runserver才可以執行文件
如果把app封裝到manage中之后再啟動服務就需要執行
python manage.py runserver

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM