Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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会话向导在提交时转到上一步_Python_Django_Django Forms_Django Views - Fatal编程技术网

Python Django会话向导在提交时转到上一步

Python Django会话向导在提交时转到上一步,python,django,django-forms,django-views,Python,Django,Django Forms,Django Views,我正在尝试使用django SessionWizard视图来查看包含两个步骤的表单。第一步我得到文件位置,第二步处理文件内容,并在第二步提交时将其写入数据库。当我点击submit时,表单返回到第一步。我使用CookieWizardView对它进行了测试,表单可以很好地使用它——我能够在第二步提交时将数据写入db。 对于SessionWizardView,我根据文档验证了我的应用程序中是否启用了会话- 还验证了会话表是否在my db中,且不为空 看过相关的,但没有太多帮助 下面是我的视图的代码片段

我正在尝试使用django SessionWizard视图来查看包含两个步骤的表单。第一步我得到文件位置,第二步处理文件内容,并在第二步提交时将其写入数据库。当我点击submit时,表单返回到第一步。我使用CookieWizardView对它进行了测试,表单可以很好地使用它——我能够在第二步提交时将数据写入db。 对于SessionWizardView,我根据文档验证了我的应用程序中是否启用了会话- 还验证了会话表是否在my db中,且不为空

看过相关的,但没有太多帮助

下面是我的视图的代码片段

    class UploadWizard(SessionWizardView):

    def __init__(self, *args, **kwargs):
        super(UploadWizard, self).__init__(*args, **kwargs)        
        self.uploaded_file = None
        self.ingestable_upload = None
        self.error = None

    form_list = UPLOAD_FORMS
    # TODO: sweep for old files.  Maybe move to S3?
    upload_dir = os.path.join(settings.MEDIA_ROOT, 'uploads')
    file_storage = FileSystemStorage(location=upload_dir)

    def get_template_names(self):
        return [TEMPLATES[self.steps.current]]

    def get_form(self, step=None, data=None, files=None):
        if step is None:
            step = self.steps.current
        form = super(UploadBoxofficeWizard, self).get_form(step, data, files)
        if step == MAP_DATA_STEP:
           # do something
        return form

def process_step(self, form):

        if self.steps.current == PICK_FILE_STEP:
            action = form.cleaned_data.get('action')
            extractor = get_upload_extractor_for_source(form.cleaned_data.get('source'))
            uploaded_file = form.cleaned_data.get('file')
            start_date = form.cleaned_data.get('start_date')
            end_date = form.cleaned_data.get('end_date')
            if action == INGEST_ACTION:
                #do something               
        elif self.steps.current == MAP_DATA_STEP:
            # do something

def done(self, form_list, form_dict, **kwargs):       
        form = form_list[int(MAP_DATA_STEP)]
        num_rows= 0
        if form:
            num_rows = form.cleaned_data[0].get('num_rows')
        return render_to_response('formtools/wizard/show_result.html',{'num_rows':num_rows})
会话设置

INSTALLED_APPS = (
    'django.contrib.sessions',
)

MIDDLEWARE_CLASSES = [    
    'django.contrib.sessions.middleware.SessionMiddleware',    
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.RemoteUserMiddleware',    
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
寻找一些帮助,了解这里可能出现的问题。我遵循了文档中的步骤,但显然我遗漏了一些东西