Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以为django SessionWizard使用相同的表单两次吗?_Python_Django_Forms_Django Formwizard - Fatal编程技术网

Python 我可以为django SessionWizard使用相同的表单两次吗?

Python 我可以为django SessionWizard使用相同的表单两次吗?,python,django,forms,django-formwizard,Python,Django,Forms,Django Formwizard,我正在尝试为行程创建过程创建SessionWizardView。行程可能有一段(单程)或两段(往返)。每个航段都有相似的模式,所以我想对步骤0和步骤1使用相同的形式,条件是当航班往返时只使用步骤1 我遇到的问题是,我的“提交”按钮不断地反复加载步骤0,而不是像往返航班那样继续执行步骤1。(我正在根据之前在get_form_initial()覆盖中请求的每条航段的行程信息预填充每个表单)。我的表单为第一段正确填充,它只是无限期地在每次提交时填充第一段数据 我可以做出两种完全相同的形式,但这似乎是拙

我正在尝试为行程创建过程创建SessionWizardView。行程可能有一段(单程)或两段(往返)。每个航段都有相似的模式,所以我想对步骤0和步骤1使用相同的形式,条件是当航班往返时只使用步骤1

我遇到的问题是,我的“提交”按钮不断地反复加载步骤0,而不是像往返航班那样继续执行步骤1。(我正在根据之前在get_form_initial()覆盖中请求的每条航段的行程信息预填充每个表单)。我的表单为第一段正确填充,它只是无限期地在每次提交时填充第一段数据

我可以做出两种完全相同的形式,但这似乎是拙劣的做法。稍微好一点,我可以让回程表单只继承出站行程表单,而不做任何更改-除非有更好的解决方案,否则我将尝试下一步

但是,我真的想知道是否有一种方法可以使用相同的表单两次

在my url.py中:

wizard_forms = [TripCreationForm,TripCreationForm]

urlpatterns = patterns('',
url(r'^trip/wizard/(?P<pk>\d+)$',
    views.CreateTripSetView.as_view(wizard_forms,
         condition_dict=  {'1':show_return_trip_form}), name='admin_add_tripset')
在forms.py中:

class TripCreationForm

    #field defs ex.
    request_id = forms.IntegerField()
    #etc.

    def __init__(self, initial, *args, **kwargs):
         object_data = {}
         object_data['request_id'] = initial['request_id']
         #etc.

         super(AnywhereFlightCreationForm, self).__init__(initial=object_data, *args, **kwargs)
编辑: 到目前为止,我已经能够使用TripCreationForm的两个子类完成这项工作,但没有同时使用TripCreationForm


提前谢谢

向导需要将它们标识为单独的步骤。也许这样行吗

wizard_forms = [
        ("form1", TripCreationForm),
        ("form2", TripCreationForm),
]

向导需要将它们标识为单独的步骤。也许这样行吗

wizard_forms = [
        ("form1", TripCreationForm),
        ("form2", TripCreationForm),
]

不幸的是,它似乎不起作用,在那个场景中它直接跳到form2。不幸的是,它似乎不起作用,在那个场景中它直接跳到form2。