Я хочу добавить слайдер на мою домашнюю страницу. Каков наилучший способ сделать это? Должен ли я создать новое приложение для слайдера? Или я могу создать класс для слайдера в доме (приложение) /models.py?
Я пытался создать класс слайдера в home / models.py. Но я не смог перечислить на домашней странице.
home / views.py
def slider_index(request):
slides = Slider.objects.all()
return render(request, 'home.html', {'slides': slides})
def slider_detail(request, id):
slide = get_object_or_404(Slider, id=id)
context = {
'slide': slide,
}
return render(request, 'home.html', context)
home / models.py
class Slider(models.Model):
title = models.CharField(max_length=120, verbose_name='Başlık')
content = models.TextField(verbose_name='Açıklama')
publishing_date = models.DateTimeField(verbose_name='Yayınlanma Tarihi', auto_now_add=True)
image = models.ImageField(null=True, blank=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('slide:detail', kwargs={'id': self.id})
# return "/slider/{}".format(self.id)
class Meta:
ordering = ['-publishing_date', '-id']
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', home_view),
path('slider/', slider_index, name='index'),
path('slider/<int:id>/', slider_detail, name='detail'),
path('post/', include('post.urls')),
]
и home.html:
{% for slide in slides %}
<!-- Slide #1 image -->
{% if slide.image %}
<img src="{{ slide.image.url }}" alt="{{ slide.content }}" title="{{ slide.title }}" />
{% endif %}
{% endfor %}
В слайдере ничего не отображается. Я новичок в Джанго. Я хочу научиться перечислять слайды на главной странице. Заранее спасибо.