Не отображается дата и автор в django проекте
В общем по ходу исправления, отображение автора на странице и дата публикации поста перестала отображаться, смотри на скрине. models.py:
class Post(models.Model):
text = models.TextField(verbose_name='Текст')
pub_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
User,
on_delete=models.CASCADE,
related_name='posts',
verbose_name='Автор'
)
group = models.ForeignKey(
Group,
on_delete=models.SET_NULL,
blank=True,
null=True,
verbose_name='Группа',
related_name='posts'
)
html шаблон поста
{% load thumbnail %}
{% for post in page_obj %}
<article>
<ul>
<li>
Автор: {{ post.author.get_full_name }}
</li>
<li>
Дата публикации: {{ pub_date|date:"d E Y" }}
</li>
</ul>
{% thumbnail post.image "960x339" crop="center" upscale=True as im %}
<img class="card-img my-2" src="{{ im.url }}">
{% endthumbnail %}
<p> {{ post.text }} </p>
{% if post.group %}
<a href="{% url 'posts:group_list' post.group.slug %}">
все записи группы
</a>
{% endif %}
{% if not forloop.last %}<hr>{% endif %}
</article>
{% endfor %}
Исправьте код в шаблоне у Вас так:
{{ pub_date|date:"d E Y" }}
А надо:
{{post.pub_date|date:"d E Y" }}
Что касается автора, в таблице User
нет данных first_name
и last_name
из которых метод get_full_name
строит строку
Поля first_name
и last_name
являются необязательными к заполнению в User
first_name = models.CharField(_("first name"), max_length=150, blank=True)
last_name = models.CharField(_("last name"), max_length=150, blank=True)