Django模板中查询到的表数据无法正常显示是什么原因?
问题修复方案
- Model定义错误:
AutoField未添加括号和主键声明,会导致字段初始化异常,无法正确存储、读取id值 - 模板变量拼写错误:模板中调用变量时将
attendances错拼为attedances,多了一个字母t,直接导致变量读取失败 - 命名不规范(可选优化):上下文键名、循环变量名语义混乱,容易引发拼写、调用错误,建议调整命名提升可维护性
修复后各部分代码
1. Model代码
class attendance(models.Model): # 补全AutoField的实例化参数 id = models.AutoField(primary_key=True) staff_id = models.CharField(max_length=250, null=True) attendance = models.CharField(max_length=250, null=True) date = models.CharField(max_length=250)
修改完成后需要执行以下命令更新数据库结构:python manage.py makemigrationspython manage.py migrate
2. Views代码(优化命名版)
def index(request): attendances = attendance.objects.all() # 调整上下文键名为语义更清晰的attendance_list,避免混淆 return render(request, "salary/index.html", {'attendance_list': attendances})
3. Template代码
{% for item in attendance_list %} <th>{{ item.id }}</th> {% endfor %}
内容的提问来源于stack exchange,提问作者Path Parakh
相关产品推荐
相关产品推荐

