@Herr_Konrad

Почему поле author остается пустое?

Создаю небольшой блог на Django. Сделал так, чтобы каждый пользователь мог создать свой пост и при просмотре поста отображалось имя пользователя. Однако при создании поста через сайт, поле author остается пустое, в то время как в admin панели в настройках поста есть возможность выбрать автора поста. В чем моя ошибка?

models.py
class Post(models.Model):
    theme = models.CharField(max_length=100)
    post_text = models.CharField(max_length=4000)
    pub_date = models.DateTimeField(auto_now_add=True)
    author = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
    )

    def get_absolute_url(self):
        return reverse("Blog:detail", kwargs={'pk': self.pk})

    def __str__(self):
        return self.theme


views.py
class IndexView(generic.ListView):
    queryset = Post.objects.all()
    template_name = 'Blog/index.html'
    context_object_name = 'latest_post_list'


class DetailView(generic.DetailView):

    template_name = "Blog/detail_post.html"
    queryset = Post.objects.all()


class AboutView(generic.TemplateView):
    template_name = 'Blog/about.html'


class CreateView(generic.CreateView):
    model = Post
    template_name = 'Blog/create_post.html'
    fields = ['theme',
              'post_text']

detail_post.html

{% extends 'main.html' %}

{% block content %}
    <h1>{{ post.theme }}</h1>
    <li>{{ post.post_text }}</li>
    <li>{{ post.pub_date }}</li>
    <li>Author: {{ post.author }}</li>
{% endblock %}
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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