kde*_*713 4 python routes attributeerror flask
我现在正在构建 Flask 应用程序,如下所示。
myserver
- server.py
- myapp
-- urls.py
-- models.py
-- views.py
-- consts.py
Run Code Online (Sandbox Code Playgroud)
我的代码在这里。
服务器.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# Flask App
application = Flask(__name__)
# SQLAlchemy
application.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:./local.db"
db = SQLAlchemy(application)
if __name__ == "__main__":
application.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
网址.py
from server import application
from . import views
@application.route('/')
def version():
return views.version()
Run Code Online (Sandbox Code Playgroud)
但是当我运行 server.py 并打开http://localhost:5000/服务器时说404 Not Found。
所以我在stackoverflow上搜索,我找到了一些关于Blueprint. 我制作了名为 app 的蓝图app = Blueprint('app', __name__),并从 server.py 注册它但我得到了AttributeError: module 'urls' has no attribute 'app'.
如何在其他文件中定义 url 路由器?
Dan*_*har 11
这里以Blueprint. 文件结构:
/project_folder
server.py
urls.py
urls2.py
Run Code Online (Sandbox Code Playgroud)
服务器.py:
from flask import Flask
from urls import urls_blueprint
from urls2 import urls2_blueprint
app = Flask(__name__)
# register routes from urls
app.register_blueprint(urls_blueprint)
# we can register routes with specific prefix
app.register_blueprint(urls2_blueprint, url_prefix='/urls2')
if __name__ == "__main__":
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
网址.py:
from flask import Blueprint
urls_blueprint = Blueprint('urls', __name__,)
@urls_blueprint.route('/')
def index():
return 'urls index route'
Run Code Online (Sandbox Code Playgroud)
urls2.py:
from flask import Blueprint
urls2_blueprint = Blueprint('urls2', __name__,)
@urls2_blueprint.route('/')
def index():
return 'urls2 index route'
Run Code Online (Sandbox Code Playgroud)
运行服务器并打开http://localhost:5000/和http://localhost:5000/urls2/。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
6154 次 |
| 最近记录: |