问题标签 [django-formtools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - KeyError:'wizard_activation_wizard'
我最近从 升级Django 1.6.11
到Django 1.8.9
,并django-formtools==1.0
作为该过程的一部分进行安装。我收到此错误,它不指向我的代码的一行。有没有人遇到过这个?
python - 在 Django 中基于类的视图之间作为 args/kwargs 传递的复杂对象
我目前已经实现了来自 formtools 包的 SessionWizardView。
在表单视图中一切正常,当表单成功填写时,上述函数运行,但是我需要将 params 参数传递给另一个视图:
我试过的东西:
1)覆盖__init__
添加self.params = kwargs.pop('params')
2) 使用创建方法来访问 kwargs 特定的关键参数return self.kwargs['params']
3)Mixin 解决方案(可能实施得很糟糕,但我认为这两个 CBV 存在限制)
最终,使用方法 1 和 2,我设法通过反转到 download/url/ 仅访问 params 字典的字符串表示形式。我需要一个更加程序化的解决方案来获取原始的 dict 对象。TLDR:如何在视图之间传递复杂的对象。
此致,
django - 测试 Django 向导视图
我正在使用PyDoc.net中的这个出色示例为我的向导编写测试。
我的 TestCase 中的一种方法没有在向导中返回正确的步骤:
当我运行它时,我回来了:
我使用的是 NamedUrlSessionWizardView,这就是为什么我的 URL 在self.client.post
is上/wizard/new/step2
,而不是/wizard/
像上面的示例那样。否则,我会收到 404 或 301 的/wizard/new
.
您对可能导致这种情况的原因有任何想法吗?
django - Django 表单前缀分隔符连字符到下划线
的命名过程django-formtools
似乎破坏了访问会话数据中的变量的能力。
我命名为 patient_details 的表单,但它的字段被分隔 - 例如patient_details-upper_arch
。我正在尝试访问会话数据以根据第一个表单中的选择在向导中进一步操作表单。但是,当尝试访问{{ ...patient_details-upper_arch }}
它时会抛出一个TemplateSyntaxError
Could not parse the remainder: '-upper_arch' from ...patient_details-upper_arch
有没有办法将分隔符设置为下划线以使该变量在模板中可访问,或者以其他方式解决这个问题?
python - django FormWizard(formtools)如何根据请求动态更改form_list?
将不胜感激任何指导。拥有SessionWizardView
来自django-formtools
,我希望能够根据request.user.restaurant
用户所属/request.site
正在访问的不同形式发送。不同的餐厅将有不同的注册流程表格集,我不知道如何适应这一点。看来我需要urls.py
.as_view()
在课堂上提前列出公司列表或提前列出表格。
由于get_template_names(self)
可以访问self.request
, 和self.request.site
,我想我可以MY_TEMPLATES
是一个嵌套字典,并self.request.site
与当前步骤一起传递给这些。虽然有没有办法将数据直接传递给这些模板?就像做一个查询并将Restaurant
数据传递给每个模板?
但我不知道如何动态修改form_list
. 上面有标准的四种形式,但有些餐厅只需要三种形式或略有不同的形式。我想做类似的事情:
然后每家餐厅都有一个表格列表来使用,类似的东西。以某种方式设置form_list
或当前形式。有任何想法吗?
django - 创建表单向导/表单集以回答表格中的问题并将其保存到另一个(调查)
我是 Django 的新手。如果我没有多大意义,我很抱歉。我有一个欧盟项目,旨在为帮助移民和难民的成人教育工作者创建一个调查工具。我想使用 WizardView/SessionView 和 formset 从基于 Max-Neef 的人类需求理论和自决理论的矩阵中回答一组 24 个问题。这个想法是,当用户填充反射字段并将它们保存到调查表中时,Survey 模型将在具有上一个/下一个/保存功能的 WizardView 中一一继承 24 个带有 ForeignKey 的问题。我一直在思考如何保存代码而不是为向导视图创建 24 个表并使用表单集和 form_tools 的混合。
一个人怎么能创造出这样的工具呢?
任何帮助将不胜感激。先感谢您。
我按照网络和付费网站上的几个教程尝试了 ModelForms 和基于类的视图。
模型.py
表格.py
视图.py
查找.py
过滤器.py
管理员.py
网址.py
django - 在 Django inlineformset_factory 中更改图像将其放在列表的末尾
假设我正在制作一个“如何”的Django webapp,用户可以在其中发布关于如何做不同事情的帖子。
- “如何”制作绳索
- “如何”制作一个土锅
- “如何”学习骑自行车
你明白了。我已经为此创建了帖子创建视图。现在,当成员发布帖子时。他们在帖子中添加了其他图像
示例: “如何”制作绳索
- 这有帖子标题=如何制作绳索
- 帖子描述=“一些描述”
- 发布图片 = 主图片
现在他们必须一步一步地展示绳子的制作过程
- 图 1:第一次执行此操作
- 图 2:第二次执行此操作
我正在使用 Django 表单集和我的帖子模型来实现这一点。在创建视图中一切正常。没问题。但在更新视图中,事情发生了变化。
问题
问题是当用户想要编辑他们的帖子并将图像号 2. 从他们的帖子切换到不同的图像时。即使他们改变了第二张图片。该图像现在位于列表的最后。使用户重新上传所有图像。恢复秩序。让我的应用看起来有问题。
示例:假设用户有以下帖子
现在,如果我将第二张图片更改
B.jpg
为b.jpg
b.jpg 移动到列表的最后,并且您的顺序为 A、C、D、E、F、b
以下是我的模型:
我的帖子创建视图
我的帖子编辑视图:
我的表格.py
***需要帮助解决此问题。例如,如果他们更改图像 2。那么它应该保持在第 2 位,而不是移动到列表的末尾
django - 如何从 Django SessionWizardView 获取主键和数据
我有一个SessionWizardView
生成 3 种表格的表格,具体取决于先前的选择。选择表单后,用户填写表单并使用 POST 将其提交ListView
给每个案例。问题是获取这些值,主要是主键。
,SessionWizardView
我遵循了文档(https://django-formtools.readthedocs.io/en/stable/wizard.html#wizard-template-for-each-form),它按我的预期工作。3 个表格已预先填写最后一个字段,具体取决于第一个字段。
在 中ListView
,我尝试使用request.session.pop()
从SessionWizardView
. 在这里我有我的第一个疑问:我使用了forms.py
(例如:)中的变量名request.session.pop('formField1', {})
和 POST()中的字段 id request.session.pop('opcao1-formField1', {})
。在这两种情况下,浏览器都会返回'int' object has no attribute 'pk'
错误。
我已经测试了向导可以显示给我的 3 种表单,它们都显示相同的错误,所以我将放置第一个的代码,所以文本保持简短。
网址.py:
视图.py:
表格.py:
索引.html:
我希望获得 detail.html 中的值并以不同的方式显示数据。但是,我收到以下错误:“int”对象没有属性“pk”。POST 返回以下内容:
整个错误回溯:
所以数据是从 SessionWizardView 传过来的,但是中间有问题。为了测试“int”问题,我将 str() 设置为“cod_id”,但仍然收到“int”错误消息。我在堆栈中搜索了与它相关的东西,但我什么也没找到。
python - 使用 URL 参数调用函数以获取 .as_view() 的参数是否可能?
这是我当前的代码:
我想要实现的是,我可以拥有一个基于inspection_type_id(url参数)动态返回form_list的函数:
它看起来像:
是否有可能做到这一点 ?
django - Django formtools完成功能未执行
我正在尝试在 django 中实现表单向导。这些步骤按预期工作,但在提交最终表单(第二步)后,未命中完成功能。我无法找到原因。请直接。以下是我的代码,
表格.py
视图.py
我想在第一步提交后用 otp 发送邮件,然后在第二步中我要求在第一步发送的 otp 进行验证。默认情况下,在提交最后一步后,页面会重定向到第 1 步。为什么?