2016-09-30 1 views
0
{% extends 'photos/base.html' %} 
{% block galleries_active %}active{% endblock %} 

{% block body%} 
<div class="gallery-container" container-fluid> 

    <!--- Galleries---> 
    <div class="row"> 
     <div class="col-sm-12"> 
      <h3>Text's Gallery</h3> 
     </div> 
     {% if gallery %} 
      {% for gallery in galleries %} 
       <div class="col-sm-4 col-lg-2"> 
        <div class="thumbnail"> 
         <a href="{% url 'photos:details' gallery.id %}"> 
          <img src="{{gallery.Gallery_logo}}" class="img-responsive" height="240" width="240"> 
         </a> 
         <div class="caption"> 
          <h2>{{gallery.Title}}</h2> 
          <h4>{{gallery.Category}}</h4> 

          <!-- View Details--> 
          <a href="{% url 'photos:detail' gallery.id %}" class="btn btn-primary btn-sm" role="button">View Details</a> 

          <!-- Delete Album--> 
          <form action="{% url 'photos:delete_gallery' gallery.id %}" method="post" style="display: inline;"> 
           {% csrf_token %} 
           <input type="hidden" name="gallery_id" value="{{gallery.id}}"> 
           <button type="submit" class="btn btn-default btn-sm"> 
            <span class="glyphicon glyphicon-trash"></span> 
           </button> 
          </form> 

          <!-- Favorite --> 
          <a href="#" class="btn btn-default btn-sm btn-favorite" role="button"> 
           <span class="glyphicon glyphicon-star"></span> 
          </a> 
        </div> 
       </div> 
       </div> 
       {% cycle '' '' '' '' '' '<div class="clearfix visible-lg"></div>' %} 
      {% endfor %} 
     {% else %} 
      <div class="col-sm-12"> 
       <br> 
       <a href="#"> 
        <button type="button" class="btn btn-success"> 
         <span class="glyphicon glyphicon-plus"></span>&nbsp; Add a Gallery 
        </button> 
       </a> 
      </div> 
    {% endif %} 

    </div> 

</div> 

</div> 

{% endblock %} 

에서 내용을 표시하지 않는 것은 내 views.py 파일내 장고 응용 프로그램 내 인덱스 파일</p> 아래 <p>인 데시벨

from django.views import generic 
from django.views.generic.edit import CreateView, UpdateView, DeleteView 
from django.core.urlresolvers import reverse_lazy 
from .models import Gallery 

class IndexView(generic.ListView): 
    template_name = 'photos/index.html' 
    context_object_name = 'all_galleries' 

    def get_queryset(self): 
     return Gallery.objects.all() 

class DetailsView(generic.DetailView): 
    model = Gallery 
    template_name = 'photos/detail.html' 

class GalleryCreate(CreateView): 
    model = Gallery 
    fields = ['Title','Category','Gallery_logo'] 

class GalleryUpdate(UpdateView): 
    model = Gallery 
    fields = ['Title','Category','Gallery_logo'] 

class GalleryDelete(DeleteView): 
    model = Gallery 
    success_url = reverse_lazy('photos:index') 

내 models.py입니다

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


class Gallery(models.Model): 
    Title = models.CharField(max_length=250) 
    Category = models.CharField(max_length=250) 
    Gallery_logo = models.CharField(max_length=1000) 

    def get_absolute_url(self): 
     return reverse('photos:detail', kwargs={'pk': self.pk}) 

    def __str__(self): 
     return self.Title + '_' + self.Gallery_logo 


class Picture (models.Model): 
    Gallery = models.ForeignKey(Gallery, on_delete=models.CASCADE) 
    Title = models.CharField(max_length=250) 
    Artist = models.CharField(max_length=250) 
    Price = models.CharField(max_length=20) 
    interested = models.BooleanField(default=False) 

    def __str__(self): 
     return self.Title 

나는 newboston django 튜토리얼 비디오 넘버 30을 따라 버키와 같은 것을 만들려고했다. 어떤 사람이 시리즈를 따라하고 비디오 30 색인 페이지 소스 코드의 깨끗한 버전을 가지고 있다면 도와주세요.

관리자가 온라인 사진 갤러리 스토어에서 작동하도록 코드를 수정하여 관리자가 방문자가 다운로드 할 수있는 카테고리로 그룹화 된 이미지를 추가합니다.

답변

1

당신은 그러나 템플릿 galleries 이상 당신이 루프

{% for gallery in galleries %} 

요구는 또한 템플릿의 루프 아무튼 어떤 전에 {% if gallery %}

{% for gallery in all_galleries %} 

class IndexView(generic.ListView): 
    template_name = 'photos/index.html' 
    context_object_name = 'all_galleries' 
    ... 

context_object_name = 'all_galleries'이이 없기 때문에 의미가 없습니다.변수. {% if all_galleries %}을 확인해야합니다.

참고 # 1 : 모델에서 소문자로 표시되는 클래스의 필드 이름.

참고 # 2 : IndexView에서 model을 제공해야하며 필터가있는 데이터를 검색하는 사용자 지정 쿼리가 없기 때문에 get_queryset()을 제거 할 수 있습니다. 그래서 사용해야합니다.

class IndexView(generic.ListView): 
    model = Gallery 
    template_name = 'photos/index.html' 
    context_object_name = 'all_galleries'