Flask url路由在除索引(/)之外的所有页面上都失败

2024-05-15 12:34:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用烧瓶和蓝图做一个复杂的应用程序。当我运行它并用“/”路径请求模块索引函数时,它工作得很好。但是,只要我添加了另一个页面/函数(例如下面示例中的/verificator/dhashboard或任何其他),它就会将这样的链接路由到404。你知道吗

下面是我的一个名为“验证器”的“后台”模块的代码:

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代码),verificator/dashboard使用404失败。你知道吗

我完全迷路了,请你帮忙!你知道吗


Tags: 模块函数代码namefromimportmodget
1条回答
网友
1楼 · 发布于 2024-05-15 12:34:17

根据url_prefix设置,可以为/verificator/设置尾部斜杠,如果要获取仪表板,则需要在浏览器中使用以下url:

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

但是,您最好删除后面的斜杠/verificator,这样您就可以通过以下方式进行访问:

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

相关问题 更多 >