Вы, вероятно, хотите использовать FormView
[Django-doc] . Это представление также имеет TemplateResponseMixin
[Django-doc] , поэтому по сути это TemplateView
[Django-doc] , но с формой. Приятно то, что Django реализует большую часть «стандартного кода», поэтому количество, которое вам нужно сделать, очень ограничено.
Затем вы можете отобразить его как:
from django.views.generic.edit import <b>FormView</b>
class Home(<b>FormView</b>):
<b>form_class = NameForm</b>
def <b>form_valid</b>(self, form):
return self.render_to_response(
self.get_context_data(text=form.cleaned_data['your_name'])
)
и все. FormView
автоматически добавляет переменную шаблона form
к данным контекста, и, если форма верна, вызывается функция form_valid
, а затем мы передаем text
в контекст.
Обычно, если форма действительна, ответ не очень распространен. Если POST имеет побочные эффекты, лучше реализовать шаблон Post / Redirect / Get [wiki] . Здесь, однако, нет никаких побочных эффектов, так что все в порядке.