gpt4 book ai didi

python flask url_for 不断抛出 werkzeug 构建错误

转载 作者:行者123 更新时间:2023-11-28 20:21:46 26 4
gpt4 key购买 nike

我在一个非常简单的应用程序中遇到 flask url_for('') 错误。

from flask import Blueprint, render_template, abort
from jinja2 import TemplateNotFound

base = Blueprint('main', __name__)

@base.route('/', defaults={'page':'home'})
@base.route('/<page>')
def show(page):
try:
return render_template('%s.html'%page, name='my name is')
except TemplateNotFound:
abort(404)

上面是我的蓝图文件,这些路线工作正常,但如果我尝试这样做

with flask.test_request_context():
print url_for('home') #home.html or any other forms

我刚收到这个错误:

raise BuildError(endpoint, values, method)
werkzeug.routing.BuildError: ('home', {}, None)

谁能帮我弄清楚这是怎么回事?在我的 html 页面中,我可以打印出静态文件的位置:

{{ url_for('static', filename='style.css') }}

但如果我尝试这样做:

{{ url_for('home') }}

我又遇到了同样的错误。有人对如何进行有一些建议吗?

最佳答案

我认为您正试图以错误的方式使用 url_forurl_for 通常将端点(即 python 函数/方法)映射到 url。在您的情况下,home 是参数的值,而不是端点。

因此,改为使用您想要 url 的 python 函数的名称:

url_for('show', page='home')

应该是您要查找的内容。

关于python flask url_for 不断抛出 werkzeug 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com