2009-08-12 41 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

相關問題