사진 갤러리 사이트에서 인증 된 사용자의 액세스를 제한하려고합니다. 나는 인증 된 사용자가 모든 사진을 보길 원하고, 인증되지 않은 사용자는 3 명만 보길 원합니다.인증 된 사용자에게만 액세스 허용
Photologue라는 타사 라이브러리에 DetailView()를 상속 한 GalleryDetailView() 클래스가 있습니다. 갤러리 상세 뷰에서 get_context_data() 메서드를 재정의하고 표시 할 사진 목록을 준비하는 코드를 추가하고 해당 목록을 템플릿 컨텍스트에 추가하려고합니다. 지금까지 내가 가지고 :
class CustomGalleryDetailView(GalleryDetailView):
def get_context_data(self, **kwargs):
context = super(CustomGalleryDetailView, self).get_context_data(**kwargs)
if not self.request.user.is_authenticated():
items = OrderedDict(itertools.islice(context.iteritems(), 4))
return items
else:
return context
편집 : 몇 가지 답변을 바탕으로, 지금이 :
class CustomGalleryDetailView(GalleryDetailView):
def get_context_data(self, **kwargs):
context = super(CustomGalleryDetailView, self).get_context_data(**kwargs)
if not self.request.user.is_authenticated():
context['object'] = Gallery.objects.filter()[:3]
return context
else:
return context
그러나 어떤 이유로
, 여전히 모든 사진을 볼 수 모두 인증 된 사용자와 인증되지 않은 사용자. 나는 이것을 여러 시간 동안 놀고 있었기 때문에 인증이 효과가 있다는 것을 알고 있으며, 다른 결과를 보았습니다. (필요한 것이 아닌).
템플릿 자체의 모양은 무엇입니까? –