问题标签 [django-forms]

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.

0 投票
3 回答
7710 浏览

python - 如何在一个视图中处理两个表单?

我在一个模板中有两种完全不同的表格。如何在一个视图中处理它们?如何区分提交了哪些表格?我怎样才能使用前缀来完成呢?或者也许最好编写单独的视图?

问候
克里斯

0 投票
14 回答
157540 浏览

python - 在 django Forms 中定义 css 类

假设我有一个表格

有没有办法让我在每个字段上定义 css 类,以便我可以在渲染页面中使用基于类的 jQuery?

我希望不必手动构建表单。

0 投票
5 回答
1327 浏览

python - Django 中的 ForeignKey 形式限制

我正在使用 Django 编写博客应用程序,并且正在尝试实现分层类别结构。每个类别都有一个“父”外键,指向同一个类别模型。我想允许管理员添加类别,并且我希望界面允许他们选择类别的父类别。但是,我想避免我是我自己的祖父的情况,所以我想将可用的类别选择限制为那些没有作为祖先的类别。

现在,我正在从视图中控制它:

其中 instance 是正在编辑的类别,而 getHierarchy() 是获取祖先 ID 列表的方法。

这种方法存在许多问题。特别是,它使用额外的数据库命中来获取所有类别的列表,并且当我真的只想指定一个小部件时,它使我通过循环 pruned_pa​​rent_list 来将选择机制写入我的模板以获取选项。

有没有更好的方法来做到这一点?我知道我可以在后端添加自定义验证来防止这种情况,但为什么要让用户选择呢?

0 投票
3 回答
12168 浏览

python - 可以使用 Django 表单进行可变数量的输入吗?

是否可以使用 django 表单拥有可变数量的字段?

具体应用是这样的:

用户可以在图片上传表单上上传任意数量的图片。上传图片后,它们将被带到一个页面,在那里他们可以为图片命名和描述。图片的数量将取决于用户选择上传的数量。

那么如何让 django 使用可变数量的输入字段生成表单(如果需要,可以作为参数传递)?

编辑:自从写了杰夫鲍尔的回答中提到的文章以来,一些事情发生了变化。

即这行代码似乎不起作用:

所以这就是我想出的......

我使用的答案:

note 标记不是 django 的一部分,但它是免费的并且非常有用。看看:django-tagging

0 投票
1 回答
6588 浏览

python - 如何在 Django 中保存内联表单集模型?

Formsets 有一个 .save() 方法,文档说要保存在这样的视图中:

我正在关注这一点,它在创建父级时有效,但是在保存现有模型时,我在 Django 中遇到异常。父级实际上是保存到数据库中的,保存相关模型时发生异常。

我在 Django 源代码中花了一些时间,但在那里找不到任何东西。我是否需要遍历每个表单集并仅保存已更改的模型?

0 投票
2 回答
6499 浏览

django - 如何在 Django 表单中隐藏主键字段

我希望我的主键字段在我的编辑页面中不可见。如果我将其设为 AutoField,则不会以 HTML 表单呈现。但是主键值也不在我的 POST 数据中。有没有一种简单的方法可以将 AutoField 呈现为隐藏字段?

0 投票
2 回答
4060 浏览

python - 自定义表单小部件的“value_from_datadict”方法应该返回什么?

我正在尝试构建自己的自定义 django 表单小部件(将它们放在我的项目目录的 widgets.py 中)。值“value_from_datadict()”应该返回什么?它是返回一个字符串还是该字段的实际预期值?

我正在使用 JQuery 对象构建我自己的拆分日期/时间小部件版本,小部件的每个部分应该返回什么?日期小部件是否应该返回一个日期时间,而时间小部件是否应该返回一个日期时间?什么胶水代码将这两个值合并在一起?

0 投票
10 回答
21735 浏览

python - 预填充内联 FormSet?

我正在为一个乐队制作一份出勤登记表。我的想法是在表格的一部分中输入演出或排练的活动信息。这是事件表的模型:

然后我想要一个内联 FormSet 将乐队成员链接到事件并记录他们是否在场、缺席或请假:

现在,我想做的是用所有当前成员的条目预先填充这个内联 FormSet,并将它们默认为存在(大约 60 个成员)。不幸的是,Django在这种情况下不允许使用初始值。

有什么建议么?

0 投票
7 回答
7987 浏览

python - 将通用图像字段添加到 django 中的 ModelForm

我有两个模型,RoomImageImage是一个通用模型,可以附加到任何其他模型上。我想在用户发布有关房间的信息时为用户提供一个表单来上传图像。我已经编写了有效的代码,但恐怕我已经以一种艰难的方式完成了它,特别是以违反 DRY 的方式。

希望对django表单更熟悉的人能指出我哪里出错了。

更新:

我试图澄清为什么我在对当前答案的评论中选择了这个设计。总结一下:

我并没有简单地ImageFieldRoom模型上放置一个,因为我想要多个与 Room 模型相关联的图像。我选择了一个通用的 Image 模型,因为我想将图像添加到几个不同的模型中。我考虑的替代方案是单个Image类上的多个外键,这看起来很混乱,或者多个Image类,我认为这会使我的架构混乱。我在第一篇文章中没有说清楚,对此我深表歉意。

看到到目前为止没有一个答案解决了如何使这个更干燥的问题,我确实提出了自己的解决方案,即将上传路径作为类属性添加到图像模型上,并在每次需要时引用它。

0 投票
3 回答
10096 浏览

python - 如何发送具有相同名称的多个输入字段值?

我有 m2m 字段,可以说它有名称“关系”,所以我想允许用户发送他想要的尽可能多的关系。我用同名的javascript向html添加新的输入,就像这样

在cleaned_data 中,我只收到第二个输入('b')的值。如何同时接收?