我使用基于django类的视图来创建两个窗体(线程,消息)。如何使用两个不同的Django窗体在相同的模板使用基于类的视图
views.py
class ThreadForm(FormView):
template_name = 'thread.html'
form_class = ThreadModelForm
success_url = '/success'
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
return super(ThreadForm, self).form_valid(form)
class MessageForm(FormView):
template_name = 'thread.html'
form_class = MessageModelForm
success_url = '/success'
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
return super(MessageForm, self).form_valid(form)
两者都是呈现相同的HTML文件thread.html
。任何人都可以告诉我如何在同一个模板中渲染两个表单?
thread.html
{{ form.as_p }}
UPDATE:我使用下面的看法,但它不工作:
class MessageForm(FormView):
template_name = 'thread.html'
success_url = '/success'
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
return super(MessageForm, self).form_valid(form)
def get_context_data(self, **kwargs):
context = super(MessageForm, self).get_context_data(**kwargs)
context['second_form'] = MessageModelForm
return context
你可以从下面的链接得到帮助[同样的问题,您有,但他一直以不同的方式进行(http://stackoverflow.com/questions/ 18122096/django-class-views-updateview-with-two-model-forms-one-submit) –