class CommentForm(forms.Form): sender = forms.CharField(label=u'Ваше имя', max_length=100) message = forms.CharField(label=u'Комментарий', widget=forms.Textarea) parent = forms.IntegerField(label=u'комментируемое сообщение')
в представлениях обработкой формы занимается следующий код:
def send_comment(request): if request.method == 'POST': form = CommentForm(request.POST) if form.is_valid(): l=Comment.objects.get(id=form.cleaned_data['parent']) child_level=l.level+1 new_comment = Comment(level=child_level, body=form.cleaned_data['message'], sender=form.cleaned_data['sender'],) new_comment.save() return HttpResponseRedirect('blog/detail.html') else: form = CommentForm() return render(request, 'blog/detail.html', {'form': form})
В шаблоне прописано следующее:
<body> <h1>{{post.title}}</h1> <h6>{{post.timestamp}}</h6> <p>{{post.body}}</p> <a href="{% url 'blog:index' %}">Назад</a> <form action="{% url 'blog:detail' post.id %}" method="post"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Отправить" /> </form> </body>
Мануал зачитал до дыр, но в итоге {{ form.as_p }} ничего не генерирует, как должен, причем ошибок нигде не вылазит. Помогите разобраться в чем проблема. Я так понимаю даже если обработчик формы как то неправильно обрабатывает импуты, хтмл код генерируется независимо, из класса?