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

Django项目使用Jinja渲染表格时无法获取HOD用户姓名的问题

解决Jinja模板中HOD关联用户信息无法获取的问题

问题核心是你搞反了关联对象的访问方向:

  • 循环变量是hod(每个HOD实例),但你错误使用了user.hod来访问用户信息。
  • HOD模型以User为外键,意味着每个HOD实例都关联一个User对象,需通过HOD实例的外键字段(比如user)访问对应User的信息。

步骤1:确认HOD模型的外键定义

假设你的Django模型定义如下(外键字段名为user):

from django.contrib.auth.models import User
from django.db import models

class HOD(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    hod_of_department = models.CharField(max_length=100)
    hod_of_year = models.IntegerField()
    mobile_no = models.CharField(max_length=15)

步骤2:修正Jinja模板代码

将模板中访问用户姓名的部分,从{{user.hod.first_name}}改为{{hod.user.first_name}},同理修改last_name:

<table class="table">
 <thead>
  <tr>
    <th scope="col">#</th>
    <th scope="col">First</th>
    <th scope="col">Last</th>
    <th scope="col">Department</th>
    <th scope="col">Year</th>
    <th scope="col">Mobile No</th>
  </tr>
</thead>
<tbody>
    {%for hod in hods%}
  <tr>
    <th scope="row">{{hod.id}}</th>
    <td>{{hod.user.first_name}}</td>
    <td>{{hod.user.last_name}}</td>
    <td>{{hod.hod_of_department}}</td>
    <td>{{hod.hod_of_year}}</td>
    <td>{{hod.mobile_no}}</td>
  </tr>
  {%endfor%}
</tbody>
</table>

额外说明

如果你的HOD模型中外键字段名不是user(比如叫related_user),只需把模板里的hod.user改成对应字段名即可,例如hod.related_user.first_name。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:24:15