2009-08-12 38 views
2

我正在自定义我的Satchmo商店窗体并且有一个图标出现在任何必填字段之前。问题是,Satchmo似乎想要在必填字段后面显示星号。我使用field.label来获得这个标签,我应该使用别的东西吗?如何防止Satchmo表单在必填字段后面显示星号?

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

+1

你写你自己的表单模板吗?由于satchmo的表单模板似乎硬编码了星号,例如:http://bitbucket.org/chris1610/satchmo/src/745c3a8f4090/satchmo/apps/satchmo_store/shop/templates/shop/checkout/form.html#cl-79 – 2009-08-15 11:24:11

+0

我所有的表单模板都是硬编码的。 – Soviut 2009-08-15 18:43:30

+0

再次更新我的答案。 – 2009-08-17 10:56:20

回答

1

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

  1. 复制的部分或全部的Satchmo的表单模板到一个新的位置,并修改它们删除星号
  2. 安排它,这样你的那些模板副本之前的Satchmo副本看出(通过适当配置模板加载器设置通过在settings.INSTALLED_APPS将应用程序与上述的Satchmo复制的模板说)

更新:我不能与香草的Satchmo 0.8.1安装重现你的结果。你能提供更多的信息吗?以下是我所做的:首先,我修改了templates/contact/update_form.html,其中包含硬编码的星号。我可以通过更改模板轻松删除它们;他们从UI中消失。取而代之的是,我将它们留在,但在表格的一个部分中的每个字段之后的括号中,立即添加{{ form.field.label }}。这是结果:

alt text

的标签,在这里做包含星号 - 正如我前面提到的,这是因为ContactInfoForm会有限制这种行为在其__init__方法。您必须撤消此行为,可能是通过使用从字段标签中删除尾部*的派生类。

但是,我没有找到任何*出现在其他必填字段。例如,这里的结算形式的截图,当我试图提交没有输入所需信息:

alt text

正如你所看到的信用卡号码和CCV是必填字段,但不带星号的出现在提示。标签也没有星号。所以,您遇到的问题似乎与您的定制有关,但没有更多信息,很难变得更有帮助。

+0

这就是我的表格。它们都被复制到我的项目的/ templates /文件夹中,以便它们首先被读取。我的表单模板都是自定义/硬编码的。 – Soviut 2009-08-15 20:51:13

+0

版本0.8.1,几乎包含任何必填字段。 – Soviut 2009-08-16 07:42:17

+0

也许这就是为什么我感到困惑。有些形式有他们,有些则没有。无论如何,我的“rowfield”包含标签有一个内置覆盖,可以让我为该域命名,所以我使用它。我的问题是理解为什么。 – Soviut 2009-08-17 15:22:06

相关问题