{% 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> Add a Gallery
</button>
</a>
</div>
{% endif %}
</div>
</div>
</div>
{% endblock %}
那是我的索引文件
下面是我的views.py文件
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,试图将同样的内容视为bucky。如果任何人已经关注该系列并且有一个干净版本的视频30索引页面源代码请帮帮忙。
我将代码修改为适用于在线照相馆商店,管理员将添加按类别分组的图片,供访问者下载。
答案 0 :(得分:1)
中有
context_object_name = 'all_galleries'
class IndexView(generic.ListView):
template_name = 'photos/index.html'
context_object_name = 'all_galleries'
...
但是,您在模板
中循环galleries
{% for gallery in galleries %}
需要
{% for gallery in all_galleries %}
此外,您在模板中的循环之前有{% if gallery %}
这是没有意义的,因为没有gallery
变量。您需要检查{% 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'