use*_*547 72 python web-services file-organization flask
我无法理解如何将烧瓶应用分成多个文件.
我正在创建一个Web服务,我想将api分成不同的文件(AccountAPI.py,UploadAPI.py,...),所以我没有一个巨大的python文件.
我已经读过你可以用蓝图做到这一点,但我不完全确定路线对我来说是正确的.
最终我想运行一个Main python文件并包含其他文件,这样当它运行时,它们被认为是一个大文件.
例如,如果我有Main.py和AccountAPI.py我希望能够这样做:
Main.py:
from flask import Flask
import AccountAPI
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
AccountAPI.py:
@app.route("/account")
def accountList():
return "list of accounts"
Run Code Online (Sandbox Code Playgroud)
我知道这个例子显然不会起作用,但有可能做那样的事吗?
谢谢
cyr*_*oxx 134
是的,蓝图是正确的方法.您要做的事情可以像这样实现:
Main.py
from flask import Flask
from AccountAPI import account_api
app = Flask(__name__)
app.register_blueprint(account_api)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
AccountAPI.py
from flask import Blueprint
account_api = Blueprint('account_api', __name__)
@account_api.route("/account")
def accountList():
return "list of accounts"
Run Code Online (Sandbox Code Playgroud)
如果这是一个选项,您可以考虑为不同的API /蓝图使用不同的URL前缀,以便将它们干净地分开.这可以通过略微修改上述register_blueprint
调用来完成:
app.register_blueprint(account_api, url_prefix='/accounts')
Run Code Online (Sandbox Code Playgroud)
有关进一步的文档,您还可以查看官方文档.
Sea*_*ene 31
使用Blueprint
您可以在routes
目录中添加路由.
app.py
routes
__init__.py
index.py
users.py
Run Code Online (Sandbox Code Playgroud)
from flask import Blueprint
routes = Blueprint('routes', __name__)
from .index import *
from .users import *
Run Code Online (Sandbox Code Playgroud)
from flask import render_template
from . import routes
@routes.route('/')
def index():
return render_template('index.html')
Run Code Online (Sandbox Code Playgroud)
from flask import render_template
from . import routes
@routes.route('/users')
def users():
return render_template('users.html')
Run Code Online (Sandbox Code Playgroud)
from routes import *
app.register_blueprint(routes)
Run Code Online (Sandbox Code Playgroud)
如果你想添加一个新的路由文件,比如说accounts.py
,你只需要accounts.py
在routes
目录中创建文件,就像index.py
和users.py
,然后在routes.__init__.py
文件中导入它
from .accounts import *
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30719 次 |
最近记录: |