我想试试烧瓶。使用烧瓶0.12,python 3.4
我创建了类似于的项目树:
https://damyanon.net/post/flask-series-structure/
controllers.py代码:
from flask import Blueprint import functools, operator main = Blueprint('main', __name__) @main.route('/') def index(): return "Main world" @main.route('/foo') def foo(): return "this is foo"
当我运行应用时, 我得到404 for / foo路线,但'/'没关系
* Serving Flask app "run" * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [27/Dec/2017 15:19:21] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [27/Dec/2017 15:19:25] "GET /foo HTTP/1.1" 404 -
有任何线索吗? 感谢。
编辑: 根据要求,这里我如何在中注册 blueprint flask_app /本地服务/的初始化的.py。不确定应用程序 factory 。我还是新手。我用 localservice 替换书架,而不是使用 admin
from flask import Flask
from localservice.main.controllers import main
app = Flask(__name__)
app.register_blueprint(main, url_prefix='/')
答案 0 :(得分:0)
我正在遵循相同的教程,同样的错误也发生在我身上。我坚持了很长一段时间后终于弄明白了。
所以看起来教程中有错误。您无法使用' /'进行注册。
app.register_blueprint(main, url_prefix='/')
这是教程人员编写代码的实际github codebase。
如果您查看代码并提交历史记录,他就会更改url_prefix
来自' /'到主要的'。更改您的url_prefix
,代码应该有效。
答案 1 :(得分:-1)
如果您不坚持遵循该教程,Flask Quickstart文档中的代码可以正常工作
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Main world"
@app.route('/foo')
def foo():
return "this is foo"
if __name__ == '__main__':
app.run()