python - 不工作循环“为”
问题描述
我有一个models.py:
class Part(models.Model):
Party_number = models.CharField(max_length=10)
Film = models.CharField(max_length=5)
视图.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%}
我的问题是为什么包含循环“for”的部分代码不起作用?即 Party_number 的对象不显示在 html 页面上
更新 我将object.Party_number更改为{{object.Party_number}},但无论它不起作用
解决方案
您已经定义了一个自定义方法,partList
但它没有被从任何地方调用。该方法毫无意义,您应该将其删除。
如果要在基于类的视图中将数据添加到模板上下文,则需要定义get_context_data
. 但是,这里没有理由这样做,因为无论如何它只会为您做 ListView 所做的事情。您应该使用视图自动填充的变量,即object_list
.
{% for object in object_list %}
{{ object.Party_number }}
{% endfor %}
推荐阅读
- python - 从数据框中删除特定字符串
- parsing - 无法为递归下降解析器获得 LL(1) 形式的语法
- javascript - 通过 jest 测试一个类时,它是否处理导入?
- azure-devops - 如何从 YAML 文件传递 Azure ARM 模板对象值?
- c# - Azure Functions V1 用户机密
- react-redux - 向 redux reducer 添加逻辑以保持状态
- html - 如何限制CSS中的字符数
- harfbuzz - 如何从字体中获取字体脚本类型
- android - Jetpack Compose LazyColumn 的 ItemDecoration 是什么?
- ruby-on-rails - 如何正确参数化我的 postgresql 查询