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

Django模板变量传递失败求助:{{patient}}无法渲染显示

Django模板变量无法渲染的排查与解决

针对你遇到的模板中{{patient}}无法显示值abcde的问题,结合提供的代码,主要排查方向和解决办法如下:

核心问题:访问路径错误触发了错误视图

你的urls.py最后一行的正则规则re_path(r'^.*\.*', views.pages, name='pages')会匹配所有包含点(.)的路径。如果你的访问路径是/examtable.html(带.html后缀),会触发pages视图而非exam_table视图——而pages视图没有传递patient变量,自然模板中该字段为空。

解决办法

直接访问正确的路径:/examtable(不带.html后缀),此时会匹配path('examtable',views.exam_table,name='examtable')规则,触发正确的视图并传递patient变量。

其他排查方向

如果访问正确路径后仍有问题,可检查以下几点:

  • URL正则优化:修改最后一行的正则为r'^.*\..*$',明确只匹配带后缀的文件路径,避免无后缀路径被意外匹配。
  • 模板正确性:
    • 确认examtable.html在Django配置的templates目录下,路径无误。
    • 检查{{patient}}拼写是否完全一致(Django模板变量区分大小写)。
    • 若模板继承了基础模板,确保变量所在区块未被父模板覆盖。
  • 缓存清理:清空浏览器缓存或使用无痕模式访问,避免旧页面缓存影响显示。

验证正确代码示例

你的views.py和模板代码本身是正确的:

  • views.py中context传递正确:
def exam_table(request):
    context = {'patient': 'abcde'}
    return render(request, 'examtable.html', context)
  • 模板中变量写法正确:
<div class="row d-flex align-items-center">
   <div class="col-9">
   <h3 class="f-w-300 d-flex align-items-center m-b-0">
   <i class="feather icon-arrow-up text-c-green f-30 m-r-10"></i>$
   <p>{{patient}}</p></h3>
   </div>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:40:18