Czy możliwe jest posiadanie formularza w szablonie ListView?
Zbudowałem widok listy, który działa dobrze i daje mi dokładnie to, czego chcę.
W szablonie tego ListView zadeklarowałem formularz, który wskazuje na CreateView. Ta forma jest taka,
{% 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 %}
adres URL post_wall odpowiada
url(r'accounts/post_wall', WallCreate.as_view(), name='post_wall'),
Adres URL zawierający formularz to
url(r'accounts/wall/(?P<slug>\w+)/To wywołuje CreateView,
class WallCreate(CreateView):
model = WallPost
def get_success_url(self):
url = reverse('wall', kwargs={'slug': request.POST.to_user})
return HttpResponseRedirect(url)
To mi daje
TemplateDoesNotExist at /accounts/post_wall
users/wallpost_form.html
Czy nie powinno to działać poprawnie, ponieważ post jest wysyłany do CreateView? A może źle zrozumiałem coś o CBV?
, WallList.as_view(), name='wall'),
To wywołuje CreateView,
class WallCreate(CreateView):
model = WallPost
def get_success_url(self):
url = reverse('wall', kwargs={'slug': request.POST.to_user})
return HttpResponseRedirect(url)
To mi daje
TemplateDoesNotExist at /accounts/post_wall
users/wallpost_form.html
Czy nie powinno to działać poprawnie, ponieważ post jest wysyłany do CreateView? A może źle zrozumiałem coś o CBV?