Вопрос в том: "Как вывести форму, и получить от туда данные". В программировании не долго, поэтому такой банальный вопрос. Я вывожу комментарии на той же странице, на которой форма.
views.py:
def item(request, alias):
try:
item = Book.objects.get(alias=alias)
except ObjectDoesNotExist:
raise Http404
form = Myform()
comments = Comment.objects.all()
context = {
'item' : item,
'form': form,
'comments': comments,
}
return render(request, 'item.html', context)
def add_comment(request, alias):
if request.method == 'POST':
form = Myform(request.POST)
if form.is_valid():
comment = form.save(commit=False)
form.save()
else:
form = Myform()
return HttpResponseRedirect('/books/%s' % alias)
urls.py:
url(r'^book/(?P<alias>[^/]+)', 'books.views.add_comment'),
url(r'^book/(?P<alias>[^/]+)', 'books.views.item'),
forms.py:
class Myform(ModelForm):
class Meta:
model = Comment
fields = ('text',)
шаблон:
{% for comment in comments %}
<p>{{ comment }}</p>
{% endfor %}