2
내가 여기에 하나 개의 질문 이 내 코드
view.py django :이 경우 필터 옵션을 사용하는 방법은 무엇입니까?
class testView(ListView):
model = Photo
template_name = 'photo/photo_detail.html'
context_object_name = 'main_list'
def get_context_data(self, **kwargs):
context = super(testView, self).get_context_data(**kwargs)
context['extra_value'] = Album.objects.filter(Album__name=Photo.album.name)
return context
및 model.py입니다
class Album(models.Model):
name = models.CharField(max_length=50)
description = models.CharField('One Line Description', max_length=100, blank= True)
owner = models.ForeignKey(User, null=True)
Category = models.ForeignKey(Categories, null=True)
price = models.CharField(max_length=20, null=True)
productInfo = models.CharField(max_length=50, null=True)
objects = models.Manager()
second_manager = SecondAlbumManager()
class Meta:
ordering = ['name']
verbose_name = 'Album'
verbose_name_plural = 'Albums'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('photo:album_detail', args=(self.id,))
@python_2_unicode_compatible
class Photo(models.Model):
album = models.ForeignKey(Album)
title = models.CharField(max_length=50)
image = ThumbnailImageField(upload_to='photo/%Y/%m')
description = models.TextField('Photo Description', blank=True)
upload_date = models.DateTimeField('Upload Date', auto_now_add=True)
owner = models.ForeignKey(User, null=True)
class Meta:
ordering = ['title']
verbose_name = 'Photo'
verbose_name_plural = 'Photos'
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('photo:test', args=(self.id,))
사진 객체가 외래 키 (앨범) 그래서, 나는 필터링 앨범 객체를 사용하려면 in template (photo_detail.html)
그러나 하나의 Photo 개체의 Album 외부 값을 Album__name과 비교하여 템플릿에 출력하고 싶습니다. Photo.album.name 부분을 변경하는 방법을 모르십시오. 저에게 알려주세요. 템플릿에
docs에 감사합니다! 질문 하나 더 드릴까요? .. –
예를 들어, 내 템플릿 (w_cloth.html) url은 "url (r '^ test/(? P \ d +)/$', testView.as_view(), name = 'test' http://127.0.0.1:8000/photo/test/7/, 어떻게 템플릿에서 id = 7을 사용할 수 있습니까? id를 사용하여 현재 사진 객체를 distanguish하려는 경우 ex) {% if photo.album.name = = current.id url %} –
도움이되어 주시면 기꺼이 도와 드리겠습니다. 두 번째 질문을 위해 다른 사람이 검색 할 수 있도록 해주는 것이 좋습니다. 가장 좋은 방법은 의견을 새로 작성하는 것입니다. 주석에서 읽기 쉽고 이해하기가 쉽습니다. . –