2011-01-20 80 views
1

具體而言,如果字段無效,我想添加error類。所以它會呈現出這樣的:動態定製django表單小部件

<input type="text" name="email" class="error" /> 

的例子打擊似乎哈克和我還沒有看到如何實現這一目標的任何其他例子。

http://jj.isgeek.net/2010/10/27/add-error-class-to-widgets-with-errors-in-django-forms/

是否有可能在全球範圍內覆蓋默認控件模板?如果需要這個字段,我希望有需要的類(或html5 required attr),以便可以先使用JavaScript進行驗證。隨着新的html5輸入類型,我希望能夠使用type="number"作爲整數字段。

我讀過這些文檔,這些文檔沒有多大幫助。 http://docs.djangoproject.com/en/dev/ref/forms/widgets/#customizing-widget-instances

編輯 顯然存在的窗體required_css_classerror_css_class。但是,我正在使用modelForms,這似乎不起作用。

回答

1

不幸的是,除了已經使用標準django標識的黑客以外沒有其他簡單的方法。

是否有可能全局覆蓋默認的小部件模板?

如何解決這個問題正在由django開發者討論。

現在,最吸引你的解決方案應該是由django核心開發人員Carl使用外部軟件包:django-form-utils,它允許你重寫模板,包含任意類和包含字段集。

而且,包括在你的forms.py

from form_utils.forms import BetterModelForm as ModelForm 
+0

form_utils下面看起來像一個很好的替代品,謝謝你的提示。 – Keyo 2011-01-20 07:18:02