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

Django字段在创建页显示但详情页不显示的问题求助

解决Django DetailView不展示clearance_required字段的问题

嘿,这个问题其实很好解决——你已经搞定了模型字段添加和迁移,CreateView的表单也能正常操作字段,问题核心就是详情页模板里没添加这个字段的渲染代码。

具体修改步骤:

  1. 打开你的jobpost_detail.html模板文件
  2. 在合适的位置(比如标题、内容之后)添加clearance_required字段的展示代码。这里要注意,因为你的字段使用了choices参数,推荐用Django提供的get_xxx_display()方法来显示友好的选项文本,而不是数据库里存储的原始键值。

举个实际的模板修改示例:
如果你的模板原本是这样的:

<h1>{{ object.title }}</h1>
<p>Posted by {{ object.author }} on {{ object.date_posted }}</p>
<p>{{ object.content }}</p>

你可以修改为:

<h1>{{ object.title }}</h1>
<p>Posted by {{ object.author }} on {{ object.date_posted }}</p>
<p>{{ object.content }}</p>
<!-- 新增 clearance_required 字段展示 -->
<p><strong>Required Clearance:</strong> {{ object.get_clearance_required_display }}</p>

补充说明:

  • 如果你的模板里用的是模型小写名称(比如jobpost)而不是默认的object,就把代码里的object换成jobpost,比如{{ jobpost.get_clearance_required_display }}。
  • 使用get_clearance_required_display()的原因:假设你的CLEARANCE_LEVELS是类似(('None', 'No Clearance Needed'), ('Secret', 'Secret Clearance'))的定义,直接用{{ object.clearance_required }}会显示None或Secret,而get_clearance_required_display()会返回对应的友好文本,用户体验更友好。
  • 不需要修改views.py里的JobDetailView,它已经自动将当前JobPost实例传递到模板中了,只要模板添加渲染代码就能正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:50:42