我只是过渡到python。我只是无法从模型中的数据填充我的html列表。
这是我的模型,用于显示详细信息,但我认为这里没有错
from django.db import models
class Student(models.Model):
student_id = models.CharField(max_length=10, primary_key = True)
first_name = models.CharField(max_length = 30)
middle_name = models.CharField(max_length = 30)
last_name = models.CharField(max_length = 30)
course = models.CharField(max_length = 50)
year = models.IntegerField(default=1)
section = models.CharField(max_length=1)
这是我不确定弄乱地方的视图和html文件
视图:
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from .models import Student
@login_required
def home(request):
student = Student
return render(request, 'studentapp/studenthome.html', {
'student':student,
})
studenthome.hmtl
{% extends 'base.html' %}
{% block content %}
<h2>Student Home</h2>
<ul>
{% for students in student.objects.all %}
<li>{{students.first_name }} {{students.middle_name}} {{ students.last_name }}</li>
{% endfor %}
</ul>
{% endblock %}
我认为错误与html文件中的for语句有关,但我真的不知道
错误:无法通过学生实例访问管理器
答案 0 :(得分:1)
您需要从模型查询以获取数据。
您需要在views.py
中进行更改
将student = Student
更改为student = Student.objects.all()
并在模板中 您这个,而不是您现有的一个:
{% for students in student %}
<li>{{students.first_name }} {{students.middle_name}} {{ students.last_name }}</li>
{% endfor %}