いくつかのモデル入力フィールドを使用して特定のクエリを作成しようとしています。 私は以下のモデルのエントリを持っています。ここテンプレート内のdjangoクエリーセット
models.py
class Work(models.Model):
categories =(
('cat1', 'cat1'),
('cat2', 'cat2'),
('cat3', 'cat3'),
('cat4', 'cat4'),
('cat5', 'cat5'),
)
title = models.CharField(max_length=200)
description = RichTextUploadingField(config_name='awesome_ckeditor')
date = models.DateTimeField(default=timezone.now)
category = models.CharField(max_length=200, choices = categories, default = 'projects')
thumb = models.ImageField(upload_to = 'works/thumbs', blank = True)
content = models.FileField(upload_to = 'works/content_media', blank = True)
published = models.BooleanField()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("work_detail",kwargs={'pk':self.pk})
@property
def thumb_url(self):
if self.thumb and hasattr(self.thumb, 'url'):
return self.thumb.url
@property
def content_url(self):
if self.content and hasattr(self.content, 'url'):
return self.content.url
は図である。
views.py
class WorksListView(ListView):
template_name = 'template.html'
model = Work
def get_queryset(self):
return Work.objects.filter(published=True).order_by('-date')
と私がしようとしています最初にカテゴリフィールドで照会し、次のテンプレートに入力します。
template.html
{% for category in works_list.category %}
<ul data-category-name={{category.name}}>
{% for work in category.works %}
<li data-thumbnail-path={{thumbnail.url}} data-url={{content.url}} >
<div>
<p class="gallery1DecHeader">{{work.title}}</p>
<p class="gallery1DescP">{{work.description}}</p>
</div>
</li>
{% endfor %}
{% endfor %}
何私は変更する必要がありますか?
、[リストビューのドキュメント]を追加(https://でdocs.djangoproject.com/en/1.11/topics/class-based-views/generic-display/)は、「テンプレートはobject_listという変数を含むコンテキストに対してレンダリングされる」と述べています。だから、あなたのテンプレートはworks_listが何であるか分からないようです。ありがとう@Sam。 –