Flask url路由在所有页面上失败但索引(/)

时间:2017-11-25 23:07:38

标签: python flask

我正在使用Flask和Blueprints进行复杂的应用程序。当我运行它并使用“/”路径请求模块索引函数时,它工作得很好。但是,只要我添加另一个页面/函数(例如下面的示例中的/ verificator / dhashboard或任何其他),它就会将此类链接路由到404。

这是我的一个名为“verificator”的“后台”模块的代码:

from flask import Blueprint, render_template

from backoffice import login_required
from backoffice import app


# Define Blueprint

mod_verificator = Blueprint("verificator", __name__, url_prefix='/verificator/', template_folder="templates")


@mod_verificator.route('/', methods=['GET', 'POST'])
@login_required
def verificator():
    return render_template("verificator.html")


@mod_verificator.route('/dashboard/', methods=['GET', 'POST'])
def dashboard():
    return render_template("dashboard.html")


# Register blueprint(s)
app.register_blueprint(mod_verificator)

和日志输出:

2017-11-25 22:55:14,614 : DEBUG : verificator: 12: <module> : _ name _: backoffice.mod_verificator.verificator
2017-11-25 22:55:14,614 : DEBUG : verificator: 13: <module> : mod_name : verificator

2017-11-25 22:57:17,459 : INFO : _internal: 87: _log : 127.0.0.1 - - [25/Nov/2017 22:57:17] "GET /verificator/ HTTP/1.1" 200 -
2017-11-25 22:57:40,902 : INFO : _internal: 87: _log : 127.0.0.1 - - [25/Nov/2017 22:57:40] "GET /verificator/dashboard/ HTTP/1.1" 404 -

所以,“verificator”模块渲染模板(和200个http代码)和验证器/仪表板失败,并且404失败。

我完全迷失了,并请求你的帮助!

1 个答案:

答案 0 :(得分:2)

根据您的url_prefix设置,您为/verificator/设置了斜杠,如果您想获得信息中心,则需要在浏览器中显示此网址:

http://127.0.0.1:5000/verificator//dashboard/

但是,您最好将尾部斜杠删除为/verificator,以便您可以通过以下方式访问:

http://127.0.0.1:5000/verificator/dashboard/