Django FormWizards:如何在表单之间轻松传递用户输入的数据?

2023-12-14

我正在使用 Django 1.4.3 中的 FormWizard 功能。

我已经成功创建了一个 4 步表单。在表单的前 3 个步骤中,它正确地从用户那里获取信息、验证信息等。在第 4 步中,它现在只显示一个“确认”按钮。没有其他的。当您在第 4 步中点击“确认”时,请在 did() 函数中执行一些有用的操作。到目前为止,一切正常。

但是,我想在步骤 4(确认步骤)中向用户显示他们在前面的步骤中输入的数据以供审核。我正在尝试找出最轻松的方法来实现这一目标。到目前为止,我正在上下文中创建一个名为 formList 的条目,其中包含已完成的表单列表。

class my4StepWizard(SessionWizardView):

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

    def get_context_data(self, form, **kwargs):
        context = super(my4StepWizard, self).get_context_data(form=form, **kwargs)
        formList = [self.get_form_list()[i[0]] for i in myWizardForms[:self.steps.step0]]

        context.update(
            {
                'formList': formList,
            }
        )
        return context        


    def done(self, form_list, **kwargs):
        # Do something here.
        return HttpResponseRedirect('/doneWizard')

表单 #1 有一个名为 myField 的输入字段。 因此,在步骤 #4 的模板中,我想要执行 {{ formList.1.clean_myField }}。但是,当我这样做时,我收到以下错误:

异常值:
“my4StepWizard”对象没有属性“cleaned_data”

看来我放入 formList 的表单是无限的。因此它们不包含用户的数据。有没有可以用来获取数据本身的修复程序?我真的很想使用上下文来传递数据,就像我上面所做的那样。


尝试这个:

def get_context_data(self, form, **kwargs):
    previous_data = {}
    current_step = self.steps.current # 0 for first form, 1 for the second form..

    if current_step == '3': # assuming no step is skipped, this will be the last form
        for count in range(3):
            previous_data[unicode(count)] = self.get_cleaned_data_for_step(unicode(count))

    context = super(my4StepWizard, self).get_context_data(form=form, **kwargs)
    context.update({'previous_cleaned_data':previous_data})
    return context

previous_data是一个字典,它的键是向导的步骤(0 索引)。每个键的项目是cleaned_data对于步骤中的形式,与密钥相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django FormWizards:如何在表单之间轻松传递用户输入的数据? 的相关文章

  • Django - 使用静态文件的奇怪行为

    我是姜戈的新手 我试图理解静态文件 css 和图像 发生了什么而变得疯狂 问题的简历如下 当我使用来自第三方应用程序 Haystack 的静态视图时 我无法使用静态文件 我的项目有这样的目录结构 1001empbr name of the
  • 使用 Django 从标准输出返回 pdf 响应

    我正在使用 wkhtmltopdf 创建 PDF 文件 但是我不知道如何正确返回它们 所以我必须将它们写入我的媒体文件夹 然后重定向到刚刚创建的文件 编辑 Ian 的建议是写入 STDOUT 因此我更改了 wkhtmltopdf 命令来执行
  • Django ORM:根据相关模型中的时间顺序字段过滤主要模型

    让我们假设我们有以下模型 class Patient models Model name models CharField other fields following class MedicalFile model Model patie
  • Django查询集基于外键值的特定顺序

    对于棒球网站 我有两个模型 位置模型和球员模型 位置被命名为投手 捕手 一垒 二垒 三垒等 class Position models Model name models CharField max length 100 slug mode
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • 在 django 中导入设置时出现奇怪的错误

    我有很多项目在 ubuntu 中使用 python2 7 和 virtualenv virtualenvwrapper 工作 在我的工作中 一些开发人员使用 macosx 和 windows 通常我像往常一样创建项目 django admi
  • Django - 在长时间处理期间显示加载消息

    我怎样才能显示请稍等从 django 视图加载消息 我有一个 Django 视图 需要花费大量时间对大型数据集执行计算 当进程加载时 我想向用户呈现一条反馈消息 例如 旋转加载动画 gif 或类似消息 在尝试了布兰登和穆拉特提出的两种不同方
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • django npm 和 Node 包架构

    在我加入的项目中 这是以下架构node packages Django project app1 app2 node modules foundation sites grunt static css images js urls py s
  • 更改 django 中的项目名称

    我将 django 项目的名称从oldname to newname使用 Pycharm 的重构 gt 重命名 我翻遍了这个项目 似乎到处都改了名字 但是当我尝试 runserver 时 这就是我得到的 Traceback most rec
  • Seed_data.yaml 文件中有没有办法自动生成第一个模型所依赖的模型?

    我正在使用 Django 2 0 Python 3 7 和 MySql 5 我有以下两个模型 第二个依赖于第一个 class CoopType models Model name models CharField max length 20
  • Wagtail 自定义管理

    我是 Wagtail 和 Django 开发的新手 如何更改 Wagtail 管理页面的颜色 根据一些问答 我可以通过 core css 更改颜色 但是扫描代码需要很多时间 有一个更简单的方法 您可以注册 Wagtail Hook 在此处阅
  • 如何在 Django 序列化器中使用主键

    我的模型是 class UserInfo models Model user models OneToOneField User unique True mobile no models CharField max length 10 bl
  • Django添加简单自定义字段——如何编写South Introspection规则

    我正在尝试将自定义字段添加到我的 Django 项目中 该项目使用South http south aeracode org 因此 我 第一次 尝试写南方的自省规则 http south aeracode org wiki MyFields
  • django 迁移地狱,丢了一张表。试图把它找回来

    所以我在数据库中删除了一个表 并且希望将其恢复 重新运行迁移会出现错误表不存在 经过一番搜寻后 我了解到我可以删除 django migrations 中应用程序名为我的应用程序的所有内容 所以我这样做了 重新运行迁移 它开始工作 然后抱怨
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • Django 接受 AM/PM 作为表单输入

    我试图弄清楚如何使用 DateTime 字段在 Django 中接受 am pm 作为时间格式 但我遇到了一些麻烦 我尝试在 forms py 文件中这样设置 pickup date time from DateTimeField inpu
  • Django南迁移AttributeError

    我在 Django 1 4 中向南 0 7 5 迁移时遇到了这个错误 我最近将时区设置更改为 false 即 USE TZ False 以解决另一个问题 有任何想法吗 谢谢 code django ssc dev ssc ssc pytho

随机推荐