gpt4 book ai didi

django - DetailView 模板不显示模型数据

转载 作者:行者123 更新时间:2023-12-04 16:31:35 25 4
gpt4 key购买 nike

我有一个要显示为详细信息 View 的模型,我创建了一个 ListView ,该 ListView 有一个指向其详细信息 View 的链接。我没有收到任何错误,但模板没有呈现任何模型细节
链接到 DetailView

<a href="../ancillaries/{{ Ancillary.id }}" > Product </a>

模型
from django.db import models
from django.core.urlresolvers import reverse

class Ancillary(models.Model):
product_code = models.CharField(max_length=60, null=True)
type = models.CharField(max_length=120, null=True)
product = models.CharField(max_length=120, null=True)
standard = models.CharField(max_length=120, null=True)
measurement = models.CharField(max_length=120, null=True)
brand = models.CharField(max_length=120, null=True)

class Meta:
verbose_name_plural = "Ancillaries"
def get_absolute_url(self):
return reverse('ancillaries')
def __unicode__(self):
return u'%s %s %s %s %s %s %s' % (self.id, self.product_code, self.type,
self.product, self.standard,
self.measurement, self.brand)

看法
class AncillaryDetail(DetailView):
model = Ancillary
def get_context_data(self, **kwargs):

context = super(AncillaryDetail, self).get_context_data(**kwargs)

context['ancillary_list'] = Ancillary.objects.all()
return context

网址
url(r'^ancillaries/(?P<pk>\d+)/', AncillaryDetail.as_view(template_name='ancillary-detail.html')),

模板
{% for ancillary_list in object_list %}
{{ Ancillary.product}}
{{ Ancillary.type }}
{{ Ancillary.brand }}
{{ Ancillary.measurement }}
{% endfor %}

最佳答案

看起来你好像用过 documentation但改编了 ListView 例子不正确。如果要显示单个模型实例,则 DetailView 是正确的看法。

正如@mrkre 建议的那样,您应该命名您的 URL 模式(尽管我会使用单数形式作为名称)。

url(r'^ancillaries/(?P<pk>\d+)/', AncillaryDetail.as_view(
template_name='ancillary-detail.html'), name="ancillary_detail")

View 是那么简单
class AncillaryDetail(DetailView):
model = Ancillary

在模板 ancillary-detail.html您使用默认名称访问模型实例 object .
{{ object.product}}
{{ object.type }}
{{ object.brand }}
{{ object.measurement }}

关于django - DetailView 模板不显示模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18329025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com