Как в django вывести анонс последней новости в блоке на главной?
Пишу сайт на Django. Делаю это впервые, самостоятельно. У меня не получается создать блок с анонсом последней новости в блоке на главной страницы. И почему то не отображаются новости на странице с новостями. Что я делаю не так?
Сама модель новостей выглядит так:
class Events(models. Model):
title = models.CharField('Заголовок', max_length=250)
slug = models.SlugField('Идентификатор', max_length=50,unique=True)
author = models.ForeignKey ( User, on_delete=models.CASCADE,
related_name='Автор', null=True, blank=True)
main_photo = models.ImageField('Постер', null = True, blank = True, upload_to='prosvet/media/images/main')
anons = models.CharField(max_length=350)
body = RichTextUploadingField(
null=False,
blank=False,
# config_name='toolbar_Custom',
external_plugin_resources=[(
'youtube',
'/static/ckeditor/ckeditor/plugins/youtube/',
'plugin.js',
)],
)
#file = models.FileField(null = True, blank = True, upload_to='static/media/docs/')
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self): # Возврат понятного отображения заголовка в панель администрирования
return self.title
class Meta:
verbose_name = u"Новость"
verbose_name_plural = u"Афиша" #Афиша
Файл urls.py:
path (r'', views. articles, name = 'afisha'),#Лента новостей
path('ckeditor/', include('ckeditor_uploader.urls')),#редактор статей
path(r'new/<el_id>', views.el, name='el'),#Вывод отдельной новости
Файл view.py:
def articles(request):#Страница новостей
afisha = Events.objects.order_by('-date_added')
context = {'afisha': afisha}
return render(request, 'gorozhane/afisha.html', context)
def el(request, el_id): #Вывод отдельной новости
news = Events.objects.get(id=el_id)
context = {'afisha':afisha}
return render(request, 'gorozhane/article.html', context)
Страница с новостью выглядит так:
{% extends "gorozhane/base.html" %}
{% block content %}
<div class="content">
<h2>{{ afisha.title }}</h2>
<p>{{ afisha.date_added|date:'M d, Y H:i' }}</p>
<div class="content_block">
<p>{{ afisha.body|safe }}</p>
<p>{{ afisha.file.url }}</p>
</div>
<div id="author">
<p><img src="{{ afisha.author.avatar.url }}" height="160" align="bottom" /></p>
<p valign="bottom">{{ afisha.author }}</p>
</div>
</div>
{% endblock content %}
Вывод новостей на странице с новостями:
{% extends "gorozhane/base.html" %}
{% block content %}
<div class="content">
{% if news %}
{% for el in news %}
<h2 align="left"><a href="{% url 'el' el.id %}">{{ el }}</a></h2>
{% if el.main_photo %}<br>
<p><a href="{% url 'el' el.id %}"><img src="{{ el.main_photo.url }}" width="640"></a></p>
{% endif %}
<div id="anons">
<p align="center">{{ el.anons }}</p>
</div>
{% endfor %}
{% else %}
<p>Новостей нет</p>
{% endif %}
</div>
{% endblock content %}
А вот тот самый блок на главной:
<div class="NewsBlock_news">
{% if events %}
{% for el in News_block %}
<div class="content">
{% include "templates/afisha.html" %}
</div>
{% endfor %}
{% else %}
<p>Новостей нет</p>
{% endif %}
</div>