@4elive8
Positive

Как отобразить данные с футера?

Доброго дня! Застрял на одном месте. Header и footer на всех страницах сайта одинаковые, создал base.html. Подключил его к соответствующим шаблонам. Header встал без проблем, все отображается, а вот footer (вместе с данными) корректно отображается только на главной странице, а на двух других только html разметка, без данных (django).
Вот пример кода footer, base.html
<!-- FOOTER -->
		<footer>
			<div class="wrapper cf">

				<!-- widgets -->
				<ul  class="widget-cols cf">
					<li class="first-col">

						<div class="widget-block">
							<h4>RECENT POSTS</h4>
							{% for blog in blog_list|slice:":3" %}
							<div class="recent-post cf">
								<a href="#" class="thumb"><img src="{{ blog.image.url }}" alt="Post" width="35" height="35"/></a>
								<div class="post-head">
									<a href="#">{{ blog.title }}</a><span>{{ blog.publish_date }}</span>
								</div>
							</div>
							{% endfor %}

						</div>
					</li>

					<li class="third-col">

						<div class="widget-block">
							<div id="tweets" class="footer-col tweet">
		         				<h4>TWITTER WIDGET</h4>
		         			</div>
		         		</div>

					</li>

					<li class="fourth-col">

						<div class="widget-block">
							<h4>CATEGORIES</h4>
							<ul>
								<li class="cat-item"><a href="#" >Design</a></li>
								<li class="cat-item"><a href="#" >Photo</a></li>
								<li class="cat-item"><a href="#" >Art</a></li>
								<li class="cat-item"><a href="#" >Game</a></li>
								<li class="cat-item"><a href="#" >Film</a></li>
								<li class="cat-item"><a href="#" >TV</a></li>
							</ul>
						</div>

					</li>
				</ul>
				<!-- ENDS widgets -->


				<!-- bottom -->
				<div class="footer-bottom">
					<div class="left">by Candy<a href="#" >candy.art</a></div>
						<ul id="social-bar" class="cf sb">
							<li><a href="http://www.facebook.com"  title="Become a fan" class="facebook">Facebook</a></li>
							<li><a href="http://www.twitter.com" title="Follow my tweets" class="twitter"></a></li>
							<li><a href="http://plus.google.com" title="Enter my circles" class="plus"></a></li>
						</ul>
				</div>
				<!-- ENDS bottom -->

			</div>
		</footer>
		<!-- ENDS FOOTER -->

это мой views.py:
class BaseListView(generic.ListView):

    model = Article
    context_object_name = 'blog_list'
    template_name = 'base.html'


вот пример главной страницы, где все ок:
5ff0a84245563623320442.png

вот пример других страниц:
5ff0a8660bd3e091017946.png

Сам вопрос:
Как сделать так, чтобы нужный мне footer c данными отображался на всех страницах?
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 2
alfss
@alfss
https://career.habr.com/alfss
Возможно стоит понять как происходит рендеринг страницы, тогда все вопросы уйдут.
Как один из вариантов решения это middleware или свой тег.
Ответ написан
Комментировать
@4elive8 Автор вопроса
Positive
Всем привет кто заглянул. Ответ для меня был прост, благодарю alfss за совет. Собственно сам ответ:

class BaseListView(generic.ListView):

    model = Article
    context_object_name = 'blog_list'
    template_name = 'base.html'
            def get_context_data(self, **kwargs):
        # Call the base implementation first to get a context
                context = super().get_context_data(**kwargs)
        # Add in a QuerySet of all the blog list
               context['blog_list'] = Article.objects.all() <— добавил в контекст данные для отображения
               return context
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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