Как я могу показать посты на странице, используя класс 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> ...