我有一个 models.py :
class Part(models.Model):
Party_number = models.CharField(max_length=10)
Film = models.CharField(max_length=5)
viesws.py :
from django.shortcuts import render
from django.views.generic import ListView
from description.models import Part
class PartyNumView(ListView):
template_name = 'part_list.html'
model = Part
def partList(self, request):
my_var = Part.objects.all()
return render(request, 'part_list.html', {"my_var": my_var})
HTML模板 part_list.html :
{% extends 'base.html' %}
{% load staticfiles %}
{% load static %}
{% block activeButton %}
<li class="active"><a href="/parties">Описание партий</a></li>
<li><a href="/measures">Ic и QE</a></li>
{% endblock %}
{% block tableName %}
Список партий
{% endblock %}
{% block content %}
{% for object in my_var %}
{{object.Party_number}}
{% endfor %}
{% endblock content%}
我的问题是为什么部分代码包含循环&#34; for&#34;不工作?例如,Party_number的对象没有显示在html页面上
更新 我将 object.Party_number 更改为 {{object.Party_number}} ,但无论它不起作用
答案 0 :(得分:3)
您已定义了自定义方法partList
,但未从任何位置调用它。该方法毫无意义,你应该删除它。
如果要在基于类的视图中向模板上下文添加数据,则需要定义get_context_data
。但是没有理由这样做,因为它只会做ListView为你做的事情。您应该使用视图自动填充的变量,即object_list
。
{% for object in object_list %}
{{ object.Party_number }}
{% endfor %}