【发布时间】:2013-12-16 03:32:36
【问题描述】:
我无法在我的 index.html 中正确包含“mainslider.html”作为 {% 包括 "pages/mainslider.html" %}
我的索引页浏览量:
from django.shortcuts import render_to_response
def index(request):
return render_to_response('index.html')
我可以在 http://127.0.0.1:8000/slider/ 看到我的滑块,但没有看到 http://127.0.0.1:8000/
这是滑块代码: models.py
from django.db import models
from ckeditor.fields import RichTextField
from easy_thumbnails.fields import ThumbnailerImageField
class Portfolio(models.Model):
title = models.CharField(max_length = 200)
description = models.TextField(max_length = 500)
meta_desc = models.CharField(max_length=200)
meta_key = models.CharField(max_length=200)
device = RichTextField()
image = ThumbnailerImageField( upload_to = 'media')
def __unicode__(self):
return self.title
def get_absolute_url(self):
return "/works/%i/" % self.id
class Slider(models.Model):
title = models.CharField( max_length = 500)
image = ThumbnailerImageField( upload_to = 'media')
whichslide = models.ForeignKey('Portfolio')
def __unicode__(self):
return self.title
views.py
class SliderListView(ListView):
model = Slider
context_object_name = 'sliders'
template_name = 'pages/mainslider.html'
def get_context_data(self, **kwargs):
context = super(SliderListView, self).get_context_data(**kwargs)
context['portfolio'] = Portfolio.objects.all()
return context
mainslider.html
<ul class="rslides" id="slider">
{% for slider in sliders %}
<li>
<img src="{{ slider.image.mainslider.url }}" alt="{{ slider.whichslide.title }}">
<p class="caption">{{ slider.title }}</p>
</li>
{% endfor %}
</ul>
还有一些urls.py:
url(r'^slider/$', SliderListView.as_view(), name="slider_list"),
【问题讨论】:
-
包含模板是不够的。如果您希望所有内容都在 index.html 上可见,您还需要在索引视图的上下文中将数据传递给模板。
标签: django django-templates django-views