Нужно ли создавать новое приложение для моделей домашней страницы в Django? - PullRequest
0 голосов
/ 05 октября 2019

Я хочу добавить слайдер на мою домашнюю страницу. Каков наилучший способ сделать это? Должен ли я создать новое приложение для слайдера? Или я могу создать класс для слайдера в доме (приложение) /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 %}

В слайдере ничего не отображается. Я новичок в Джанго. Я хочу научиться перечислять слайды на главной странице. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...