Я построил список, который отлично работает и дает мне именно то, что я хочу.Возможно ли иметь форму в шаблоне ListView?
В шаблоне этого ListView я объявила форму, которая указывает на CreateView. форма, как это так,
{% if user.is_authenticated %}
<form action="{% url 'post_wall' %}" method="POST">
{% csrf_token %}
<input type='text' name='body' />
<input type='hidden' name='from_user' value='{{ user.id }}' />
<input type='hidden' name='to_user' value='{{ to_user }}' />
<input type='submit' value='POST'/>
</form>
{% endif %}
post_wall URL соответствует
url(r'accounts/post_wall', WallCreate.as_view(), name='post_wall'),
Адрес страницы, которая содержит форма
url(r'accounts/wall/(?P<slug>\w+)/$', WallList.as_view(), name='wall'),
Это вызывает CreateView,
class WallCreate(CreateView):
model = WallPost
def get_success_url(self):
url = reverse('wall', kwargs={'slug': request.POST.to_user})
return HttpResponseRedirect(url)
Это дает мне
TemplateDoesNotExist at /accounts/post_wall
users/wallpost_form.html
Не должно ли оно работать должным образом, поскольку сообщение отправляется в CreateView? Или я что-то не понял о CBV?
Это работает. Если бы я должен был фильтровать свой контент для представления списка, я должен был бы сделать это, вернувшись на get_queryset правильно? –
Да, вы можете настроить его точно так же, как и обычный «ListView». –
Большое спасибо, сэр! –