如何防止Satchmo表单在必填字段后显示星号?

时间:2009-08-12 18:25:45

标签: python django forms field satchmo

我正在自定义我的Satchmo商店表单,并在任何必填字段之前显示一个图标。问题是,Satchmo似乎想要在必填字段后呈现文本星号。我正在使用field.label获取此标签,我应该使用其他东西吗?

编辑:我的所有表单模板都是硬编码的。我有一个包含标记,它接受一个字段并将其包装在我开发的标准字段模板中。我的模板使用{{ field.label }}来显示字段的友好名称。看起来标签本身最后只有一个星号。

1 个答案:

答案 0 :(得分:1)

如果您执行以下操作会发生什么?

  1. 将部分或全部Satchmo的表单模板复制到新位置并修改它们以删除星号
  2. 安排它,以便在Satchmo的副本之前看到这些模板的副本(通过适当地配置模板加载器设置,比如将应用程序与Satchmo上方的复制模板放在settings.INSTALLED_APPS中)
  3. 更新:我无法使用vanilla Satchmo 0.8.1安装重现您的结果。你能提供更多信息吗?这就是我所做的:首先,我修改了templates/contact/update_form.html,其中包含硬编码的星号。我可以通过更改模板轻松删除它们;他们从用户界面消失了。相反,我把它们留在了,但在括号中,在{{ form.field.label }}之后立即添加到表格的一部分中的每个字段之后。这是结果:

    alt text

    这里的标签确实包含一个星号 - 正如我之前提到的,这是因为ContactInfoForm在其__init__方法中对此行为进行了硬编码。您可能必须通过使用从字段标签中删除尾随*的派生类来撤消此行为。

    但是,我没有在其他必填字段中找到任何*。例如,当我尝试在没有输入所需信息的情况下提交时,这是结帐表单的屏幕截图:

    alt text

    如您所见,信用卡号和CCV是必填字段,但在提示符处不显示星号。标签也没有星号。因此,您遇到的问题似乎与您的自定义有关,但如果没有更多信息,则很难提供更多帮助。