问题标签 [django-widget]

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 投票
6 回答
20756 浏览

jquery - 如何更改 ModelForm 中所有 Django 日期字段的默认小部件?

给定一组典型模型:

如何将所有DateFields 的默认小部件更改为自定义 MyDateWidget?

我问是因为我希望我的应用程序有一个用于输入日期的 jQueryUI 日期选择器。

我已经考虑过使用我的自定义小部件扩展 django.db.models.DateField 的自定义字段。这是实施这种全面变革的最佳方式吗?这样的更改将需要专门将特殊的 MyDateField 导入每个模型,这是劳动密集型的,容易出现开发人员错误(即一些模型。DateField 将通过),并且在我看来似乎是不必要的重复工作。另一方面,我不喜欢修改被认为是models.DateField 的规范版本的东西。

想法和意见表示赞赏。

0 投票
1 回答
1744 浏览

django - 如何修改 Django 中特定类型的所有内置表单字段的默认小部件?

这是关于如何更改 ModelForm 中所有 Django 日期字段的默认小部件的后续内容?.

假设您有大量模型(例如 A-ZZZ)随着其他开发人员的输入而增长,而您无法控制,并且您想要更改所有日期字段的输入方式(即通过使用 jQueryUI)。确保使用该新小部件填写所有日期字段的最佳方法是什么?

引用问题的一个建议是:

但是,这是否可以在您没有明确的 ModelForm,但 url 模式直接来自模型的情况下进行?即你的 url 配置是这样的:

其中 SomeModelA 是由 Django 在后台转换为 ModelForm 的模型(不是表单)。

目前在我的系统中,每个模型都没有表格。显式创建表单的唯一要点是添加先前解决方案中建议的 formfield_callback,但这违反了 DRY 原则,并且容易出错且劳动强度大。

我考虑过(如上一个线程中所建议的)创建我自己的具有特殊小部件的字段并使用它而不是内置的。它不是劳动密集型的,但它可能会出现错误(不过,没有什么是一个好的 grep 无法修复的)。

建议和想法表示赞赏。

0 投票
1 回答
142 浏览

django - widgets/foreign.html 文件位于 django 主干中的什么位置?

我想为 ForeignKey 字段覆盖(创建自定义)widgets/foreign.html 模板,但在源代码中找不到它。浏览 Django SVN 存储库,我可以在修订版中找到这些文件:7966,但在此修订版之后它们被删除;

http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/templates/widget?rev=7967

生成表单选择字段和为外键字段“添加另一个/新”链接 html 的代码在哪里?

我将如何覆盖它以为特定模型字段创建自定义表单小部件。

0 投票
7 回答
31483 浏览

django - 在 Django Admin 中过滤多对多框

我有一个与另一个对象有 ManyToMany 关系的对象。
在 Django Admin 中,这会导致多选框中的列表很长。

我想过滤 ManyToMany 关系,所以我只获取客户选择的 City 中可用的类别。

这可能吗?我必须为它创建一个小部件吗?如果是这样,我如何将标准 ManyToMany 字段中的行为复制到它,因为我也想要这个filter_horizontal函数。

这些是我的简化模型:

0 投票
2 回答
1902 浏览

python - 在 Django Admin 中,我想更改外键在多对多关系管理小部件中的显示方式

我有一个多对多关系:

在 Author 的管理界面中,我得到一个使用 unicode 显示书籍的多选列表。我想以两种方式更改列表:

1)仅对于我想显示 ISBN 号的管理界面,在其他任何地方我只打印一个我想要显示标题的“Book”对象。

2) 我如何为 ManyToMany 使用比 MultipleSelectList 更好的小部件。我怎么能指定使用 CheckBoxSelectList 呢?

0 投票
3 回答
2380 浏览

django - django 的 SelectDateWidget 的日期格式

SelectDateWidget 非常方便,但它通常似乎以“%Y-%m-%d”格式返回日期。它不需要格式参数,也没有太多文档。任何人都遇到过这个问题或知道如何解决它以将日期输出转换为另一种格式?有这张票,#6231说有一个修复程序可以让它使用 settings.py 中的 DATE_FORMAT 设置(尽管我不明白为什么不能只给它一个格式参数)。2个月前的票中有一个补丁来实现这个,所以看来我必须获得最新的django开发版本才能使用它,除非有办法可以将这个补丁应用到我的django安装中?

0 投票
3 回答
13011 浏览

django - Django 小部件媒体不起作用

我需要一个小部件,它应该只显示一个块,因为我将使用 jQuery 添加功能。我试图通过 Widget 的“媒体”类包含 javascript 和样式表,但它对我不起作用。

这是代码:

任何建议或帮助将不胜感激

0 投票
5 回答
10805 浏览

django - Django MultiValueField - 如何将选择传递给 ChoiceField?

我有一个带有字符字段和选择字段的多值字段。我需要将选择传递给choicefield构造函数,但是当我尝试将它传递给我的自定义多值字段时,我得到一个错误__init__(),得到了一个意外的关键字参数'choices'。

我知道其余代码有效,因为当我从__init__和 super 中删除选择关键字参数时,多值字段正确显示但没有任何选择。

这就是我设置自定义多值字段的方式:

我这样称呼它:

那么如何将选项传递给我的 ChoiceField 字段?

编辑:

我已经尝试了 stefanw 的建议,但仍然没有运气。我已经使用 logging.debug 在 init 的末尾打印出 InputAndChoiceField 的内容,并且 self.fields[1].choices 包含正确的值,但它不会在浏览器中显示任何选项。

0 投票
4 回答
12220 浏览

python - Django MultiWidget 电话号码字段

我想为电话号码输入创建一个字段,该字段具有 2 个文本字段(分别为 3、3 和 4 号),并带有常见的“(”“)”“-”分隔符。下面是我的字段和小部件代码,在初始渲染期间尝试迭代表单中的字段时出现以下错误(当 for 循环到达我的电话号码字段时发生):

渲染时遇到异常:“NoneType”对象不可订阅

0 投票
1 回答
1536 浏览

django - django 数量表单小部件

我想开发一个基本的数量小部件,它是一个下拉选择框,使用一个整数作为最大数量,用户可以从 1 到最大数量进行选择。

最后我的表单将使用这个小部件,如果给定的数量大于最大值,它不应该验证。(确实,普通用户无法选择超过最大值,但我想可以通过向服务器发送直接请求来尝试。)

如何才能做到这一点?

谢谢

编辑: 我认为它可以是这样开始的,但是我希望我的字段是一个选择(从 1 到最大最大数量),而不是 textinput 字段。