首页 文章

flask app为非根路径提供404

提问于
浏览
-1

我想试试烧瓶 . 使用烧瓶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 -

任何线索?谢谢 .

编辑:根据要求,这里我如何注册蓝图
flask_app / localservice / init .py . 申请工厂不确定 . 我还是新手 . 我用localservice替换书架而不使用admin

from flask import Flask
from localservice.main.controllers import main
app = Flask(__name__)
app.register_blueprint(main, url_prefix='/')

2 回答

  • 0

    我正在遵循相同的教程,同样的错误也发生在我身上 . 在坚持这一点很长一段时间后,我终于弄明白了 .

    所以看起来's an error in the tutorial. You can' t使用'/'进行注册 . app.register_blueprint(main, url_prefix='/')

    这是教程人员编写代码的实际github codebase .

    如果查看代码并提交历史记录,他将 url_prefix 从'/'更改为'main' . 更改 url_prefix ,代码应该有效 .

  • -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()
    

相关问题