如何在一页中加载2个表单(网址)?

时间:2019-05-16 07:21:07

标签: django django-forms

我需要在一页中加载2个表单,并且要映射URL,我必须添加2个表单的path('',.........)。但是我该怎么做呢? 如果为2种形式添加path(''.....),则将我的一种形式添加到不同的路径上。我该怎么做?

我尝试过这个:

urlpatterns=[
      path('',views.register,name='register')
      path('',views.login,name='login')

]

因为我需要在索引路径中的另一个单词的一页中加载这两种形式,但是当我运行服务器时,我看到的是其中一种形式,而不是两种形式。

1 个答案:

答案 0 :(得分:0)

您需要编写一个视图并将两种形式都包含在上下文中。

class TwoFormView(TemplateView):
    template_name = 'my_template.html'

    def get_context_data(self, *args, **kwargs):
        ctx = super().get_context_data(*args, **kwargs)
        ctx['form1'] = UserForm()
        ctx['form2'] = RegistrationForm()
        return ctx

您可以通过以下方式致电

path('two-form-view/', views.TowFormView.as_view(), name="two-form-view"),

编辑

在帖子中

if form1.is_valid() and form2.is_valid():
    # do something
else: 
    # add forms to context and render template again