【发布时间】:2021-08-04 09:02:35
【问题描述】:
我正在构建一个非常基本的 Python-Flask 应用程序。为了不让我的代码太杂乱,我想使用蓝图将路由分成与特定功能(例如用户管理)相关的单独文件。 以下代码工作正常:
app.py:
from user_routes import usr_routes
app = Flask(__name__)
app.register_blueprint(usr_routes, url_prefix="/")
user_routes.py
from flask import Blueprint
usr_routes = Blueprint("", __name__)
@usr_routes.route("/users")
def users():
return "Not implemented yet"
menu.html:
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Users
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="{{url_for('..users')}}">Users</a></li>
<li><a class="dropdown-item" href="{{url_for('new_user')}}">New User</a></li>
<li><hr class="dropdown-divider"></li>
</ul>
</li>
文件夹结构:
Project
|--app.py
|--user_routes.py
|--templates
| |-menu.html
| |-base.html
问题: 为什么我需要在 users 前面的 HTML 文件中添加两个点? 如果我不这样做,我会收到以下错误: werkzeug.routing.BuildError:无法为端点用户构建 url。你是说 .users 吗?
【问题讨论】:
标签: python flask web-applications