Как я могу показать посты на странице, используя класс django TemplateView?

Для проекта блога я использовал готовый шаблон. При нажатии на кнопку шаблона на главной странице открывается модал и отсюда происходит процесс регистрации входа. На главной странице одновременно должны работать функции просмотра и входа и регистрации. Я сделал вход и регистрацию с помощью шаблона view, но в этот раз мои посты исчезли. никакой ошибки на странице или в терминале.Кто-нибудь может помочь мне сделать это! Спасибо всем!

views.py

class HomeView(TemplateView):
    # model = Post
    template_name = 'blog/index.html'
    # ordering = ['-last_updated']

    def get_context_data(self, **kwargs):
        context = super(HomeView, self).get_context_data(**kwargs)
        context['posts'] = Post.objects.all()
        print(context['posts'])
        return context
    

    def get(self, request, *args, **kwargs):
        return self.render_to_response({'loginform': AuthenticationForm(prefix='loginform_pre'), 'registerform': UserCreationForm(prefix='registerform_pre')})

    
        
    def post(self, request, *args, **kwargs):
        # self.object_list = self.get_queryset()
        loginform = _get_form(request, AuthenticationForm, 'loginform_pre')
        registerform = _get_form(request, UserCreationForm, 'registerform_pre')
        if loginform.is_bound and loginform.is_valid():
            # Process loginform and render response
            user = loginform.get_user()
            login(request, user)
            return redirect('index')

        elif registerform.is_bound and registerform.is_valid():
            user = registerform.save()
            login(request, user)
            return redirect('index')

        return self.render_to_response({'loginform': loginform, 'registerform': registerform})

html шаблон

<div class="row"> 
                {% for post in posts %}
                <div class="col-lg-4 col-md-6 col-12 mb-4">
                    <div class="blog-item">
                        <div class="image-blog">
                            <img src='{{ post.image.url }}' alt="blogImage" class="img-fluid" style="height: 162px;overflow: hidden;">
                        </div> ...

Вернуться на верх