Задать вопрос

Как сделать подобное представление в django?

Снова я)

slider.model
class Slide(models.Model):
    image = models.ImageField(u'Изображение')
    header = models.CharField(u'Заголовок', max_length=120, blank=False)
    caption = models.CharField(u'Описание', max_length=250, blank=False)


slider.views
def slider(request):
    slides = Slide.objects.all()
    return render(request, 'main.html', {'slides': slides})


и такое же приложение Promo

promo.models
class Promo(models.Model):
    image = models.ImageField(u'Изображение')
    header = models.CharField(u'Заголовок', max_length=120, blank=False)
    caption = models.CharField(u'Описание', max_length=250, blank=False)


promo.views
def promotion(request):
    promos = Promo.objects.all()
    return render(request, 'base.html', {'promos': promos})


в общем два этих приложения выполняют функцию слайдера и блока акций на сайте

urls
url(r'^$', 'slides.views.slider'),
url(r'promo/', 'promos.views.promotion'),


ну и так же отдельными html у меня отделены promo.html и slider.html ответственные за вывод слайдов и акций, к этим двум html ведут два представления указанные выше

Есть подобная схема из html:
base.html
<head>
{% include 'head.html' %}
</head>
<body>
<div class="container">
        {% include 'navbar.html' %}
        <div class="content">
                {% block content %}
                {% endblock %}
        </div>
        <div class="footer">
                {% include "promo.html" %}
        </div>
</div>
</body>


main.html
{% extends 'base.html' %}
{% block content %}
        {% include 'slider.html' %}
{% endblock %}


Суть в том что при вызове url(r'^$') работает слайдер, а при вызове url(r'^promo) только промо, как заставить промо работать на всех страницах без отдельного вызова представления промо
  • Вопрос задан
  • 380 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
pinkevich
@pinkevich
Developer
https://toster.ru/answer?answer_id=572613#answers_...
только вместо {'context': data} будет {'promos': promos}
Ответ написан
Либо контекст процессор, но он будет вообще во все шаблоны передавать объекты, либо темплейт тег написать https://docs.djangoproject.com/en/1.8/howto/custom...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы