You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask蓝图下render_template与url_for调用模板子目录的错误排查

Flask蓝图url_for构建错误修复方案

核心问题

你在模板中使用的url_for('stripe_payment/userinfo.donations')格式完全错误,Flask中蓝图的端点格式是**蓝图名.视图函数名**,和模板所在的目录路径无关。

分步修复

1. 确认蓝图定义与注册

确保你的userinfo蓝图定义和注册流程正确:

from flask import Blueprint, render_template

# 定义蓝图,第一个参数是蓝图的名称(必须和url_for中使用的前缀一致)
userinfo_bp = Blueprint('userinfo', __name__)

# 注册蓝图到Flask应用
app.register_blueprint(userinfo_bp)
# 可选:如果需要路由前缀,比如/userinfo,可以这样写
# app.register_blueprint(userinfo_bp, url_prefix='/userinfo')

2. 检查路由定义

在userinfo蓝图中定义donations路由时,确保视图函数名正确:

@userinfo_bp.route('/donations')
def donations():
    # 模板路径正确,Flask会自动从根templates目录下查找子文件夹
    return render_template('stripe_payment/donations.html')

3. 修正模板中的url_for调用

在stripe_payment/donations.html模板里,把错误写法替换为:

{{ url_for('userinfo.donations') }}

额外排查点

  • 若仍报错,检查蓝图定义时的第一个参数(Blueprint的name参数)是否确实为'userinfo',这个参数决定端点前缀,和变量名userinfo_bp无关。
  • 确认路由函数的名称确实是donations,拼写错误也会触发BuildError。

内容的提问来源于stack exchange,提问作者user20849957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:35:43