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

Django模板异常:DetailView无法渲染physicsBlog.body数据

Django DetailView模板无法渲染RichTextField内容的解决办法

问题核心是你在DetailView模板里用了{{ physicsBlog.body }},但Django的DetailView默认不会用这个变量名传递当前文章对象,导致无法读取body内容,而ListView里是遍历列表项,所以能正常访问每个item的属性。

给你两种可行的解决方式:

方式一:修改模板变量名

DetailView默认会将当前文章对象存入object变量,同时也会生成一个模型类名全小写的变量(你的模型是physicsBlog,对应变量名是physicsblog)。把模板里的代码改成以下任意一种即可:

{{ object.body }}

或者

{{ physicsblog.body }}

方式二:显式指定上下文变量名

如果你想继续用physicsBlog作为模板变量名,直接在DetailView类里添加context_object_name属性即可:
修改views.py中的physicsBlogDetailView:

class physicsBlogDetailView(DetailView):
    model = physicsBlog
    template_name = 'physics-blog-details.html'
    context_object_name = 'physicsBlog'  # 新增这一行

另外建议先确认数据库中对应文章的body字段确实有内容,排除是空数据导致的不显示问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:03:21