问题标签 [django-crispy-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 回答
2628 浏览

django - Django:在基于类的视图中使用清晰样式的表单集

嗨 Stackoverflow 人,

我想用脆皮应用程序设置表单集的样式,但这会引起一些悲伤。

一个非常简单的模型应该展示四次。

表单类也很简单:

在我的 views.py 中,我生成了表单集:

我的麻烦是模板中的crispy期望{% crispy formset formset.form.helper %},但似乎传递的变量是form. {% crispy form %}有效,但不会显示辅助属性。如何将整个表单集信息传递给模板?

谢谢你的建议。

0 投票
3 回答
17991 浏览

django - 在 django-crispy-forms 中显示多行和多列

我将django-crispy-forms与 Twitter Bootstrap 一起使用,并且在将表单自定义为多行和多列时遇到了一些问题。一个示例问题是,当我尝试将表单分成两列时没有任何反应:

查看 html 输出,我看到有<div class="formColumn">,但表单显示在一列中。也许这是一个CSS问题?我正在使用引导程序 2.1。

0 投票
1 回答
183 浏览

django - 在 oauth2app 的登录中传播下一个参数

我有一个 Django 网站,我在其中使用 oauth2app 库进行 OAuth 2 身份验证。我还修改了 oauth2app 以使用 Krispy_forms,而不是弃用的 uni_form。

oauth2app 中的 authorize() 方法由 Django 装饰器 @login_required 保护。事实上,如果客户在没有先登录的情况下尝试授权,则会出现登录页面。

正如预期的那样,装饰器使登录页面 URL 具有“下一个”CGI 参数,其中包含授权请求的原始 URL。

问题是,当登录页面的模板被实例化时,“next”参数没有被传播。我想要的是表单“action”包含“next”参数。

此页面旨在提供解决方案:

http://django-uni-form.readthedocs.org/en/latest/helpers.html

在“在视图中操作助手”部分中。

按照那个例子,我尝试了:

但是结果页面的来源显示了表单的原始“操作”。对 form_action 的分配似乎没有生效。事实上,如果我不实例化模板,而只是返回 form_action,它并没有改变:

让我不解。

0 投票
1 回答
753 浏览

django - 在 django-crispy 按钮名称中使用 django 模板变量

我正在使用 django-crispy-forms 生成与 Bootstrap 兼容的表单。对于表单提交,我的 forms.py 中有以下代码:

我宁愿利用从我的视图传递的模板变量 {{ function }},而不是阅读“保存更改”的提交文本。有时,此变量显示为“编辑任务”。有时它会显示“创建任务”。

有没有办法在按钮的文本中包含模板变量?我尝试了以下方法:

但按钮输出显示:

0 投票
1 回答
1933 浏览

django - Django 脆表单、BaseGenericInlineFormSet 和 allow_delete

我在使用 django-crispy-forms 时遇到了一个问题,我无法得到答案。我有一个相当复杂的表单布局,到目前为止,一切都非常好用 cripy-forms。

表单的一部分使用通用的内联表单集。这也有效,但我的问题是,我无法弄清楚如何访问删除复选框(当有can_delete=True时)

相应的代码如下所示:

name 和 url 字段根据需要使用清晰的表单呈现,但删除复选框出现在表单的末尾。而且我无法在布局中访问它。

有人知道如何解决这个问题吗?有小费吗?提前致谢!

0 投票
1 回答
268 浏览

django - 用于输入 0 到 n 个电子邮件地址的 Django 表单

我有一个 Django 应用程序,其中包含一些相当常见的模型:UserProfileOrganization. AUserProfile或 anOrganization都可以有 0 到 n 封电子邮件,所以我有一个Email具有GenericForeignKey. UserProfileOrganization模型都有一个指向模型的GenericRelation调用(下面提供的摘要代码)。emailsEmail

问题Organization:提供允许用户输入组织详细信息(包括 0 到 n 个电子邮件地址)的表单的最佳方式是什么?

我的Organization创建视图是基于Django 类的视图。我倾向于创建一个动态表单并使用 Javascript 启用它,以允许用户根据需要添加尽可能多的电子邮件地址。我将使用 django-crispy-forms 和 django-floppyforms 呈现表单,以便使用 Twitter Bootstrap 在网站上显示。

我曾考虑过BaseGenericInlineFormset在表单中​​嵌入一个来做到这一点,但这对于电子邮件地址来说似乎有点矫枉过正。将表单集嵌入到由基于类的视图提供的表单中也很麻烦。

请注意,Organization字段phone_numbers和也会出现同样的问题locations

代码

电子邮件.py:

组织.py:

parent_mixins.py

0 投票
2 回答
6754 浏览

ajax - 在 Bootstrap Modal 中使用 django 清晰表单的 AJAX 反馈表单

这个问题有很多动人的部分,但是如果您对其中的任何部分有任何见解,将不胜感激。

我想建立一个符合人们期望的反馈表。当用户点击页面右下角的反馈按钮时,它会启动一个引导模式。modal 有一个 django 清晰的表单,当按下提交按钮时提交或返回无效的字段。

首先,我有我的反馈按钮:

接下来,我有我的表格:

我试图省略脆表单中的图例,因为如果我包含它,模态似乎有两个表单标题。但是在清晰的表单布局中省略图例会导致字段出现乱序。

所以我有几个问题:

  1. 总的来说,我是否以正确的方式去做这件事?
  2. 如果我将模式的提交按钮连接到 AJAX,我该如何检查表单的错误?
  3. 有没有更好的方法在引导模式中显示酥脆的表格?
0 投票
1 回答
4531 浏览

django-templates - 使用两种 django 酥脆形式

我很难同时使用两种 django 酥脆的形式。我有一个表单可以将新数据输入到我的应用程序中,另一个表单显示在引导模式中供用户提供反馈。下面,我已经将我的模板剥离到了最基本的部分。

我有一个小组表格:

和联系表格

我的观点:

还有我非常基本的模板:

feedback_form 显示两次。好像两种形式都是同一种形式。如果我从模板中删除 feedback_form,那么它会显示 Group 表单。如果我重新排列两者,使 {% crispy form %} 在 feedback_from 上方,它会正确显示两种不同的形式。

我阅读了文档,但找不到有效的方法。

为什么会发生这种情况,我需要调整什么才能正确显示?

0 投票
0 回答
229 浏览

django - 使用crispy-forms时自定义模板中的form.errors位置

仅当在一页上使用多个清晰表单时,如何在一个位置显示 form.errors ?

例如,我的模板中有以下表格:

请注意,对于 form_A 和 form_B,self.helper.form_tag 都设置为 False。

目前,当在 form_B 的 clean() 方法中引发 ValidationError 时,form.errors 将显示在 form_B 中(在 form_A 下方)。我希望将 form_A 和 form_B 的所有 form.errors 显示在同一位置(在页面顶部)。有没有办法用脆皮表格自定义这个输出?

0 投票
1 回答
21732 浏览

django - 将 Crispy 表单与 ModelForm 一起使用

我一直在遇到脆的形式,它似乎完全符合我的要求:使用引导布局渲染表单。

现在,该示例讨论使用forms.Form. 没关系,我可以通过编写如下代码来创建我的:

但是,如何进行更新?因为如果我把它放在视图中:

它不起作用,因为实例仅适用于 ModelForm。

现在,我可以将 ModelForm 替换为forms.FormwithModelForm并使用酥脆的形式吗?我做了这个

这里我添加了 Meta 类。现在:它可以工作,但是这样使用它是否正确?更新也以这种方式工作。

使用表单进行更新的正确方法是什么?