DetailView模板不显示模型数据

vddect

我有一个要显示为“详细视图”的模型,我创建了一个列表视图,该列表视图具有一个指向其详细视图的链接。我没有收到任何错误,但模板未呈现任何模型详细信息链接到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 %}
安德鲁·S

看起来您似乎已经使用过文档,但是ListView错误地修改了该示例。如果要显示单个模型实例,则该DetailView视图是正确的视图。

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

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

然后视图就很简单

class AncillaryDetail(DetailView):
    model = Ancillary

在模板中ancillary-detail.html,使用默认名称访问模型实例object

{{ object.product}}
{{ object.type }}
{{ object.brand }}
{{ object.measurement }}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章