在Django窗體上,如果用戶將其留空,如何爲字段指定默認值?初始設置初始值,但用戶可以刪除它。Django窗體:默認值,如果用戶離開字段爲空
回答
如果您使用的是ModelForm
只需按照丹的建議。
如果您只是使用Form
,那麼您可能必須指定如何處理驗證。 Example Documentation
class YourForm(forms.Form):
...
def clean_field(self):
data = self.cleaned_data['field']
if not data:
data = 'default value'
return data
'def clean_field(self):return self.cleaned_data ['field'] or'default value'' –
Set a default value in the model.
class YourModel(models.Model):
this_field = models.TextField(default="default_value")
我試了forms.CharField(默認=「0」),並得到一個錯誤消息:「__init __()有一個意想不到的關鍵字參數'默認'」 – user984003
將其添加到實際模型,而不是形式。你的模型將在'models.py'中。通過這種方式,無論何時保存模型的副本(在您的示例中通過表單),默認值都將添加到該模型中(如果它留空)。我認爲這是比通過字段驗證更好的解決方案,特別是如果您要允許使用管理員。 –
啊,我明白你的意思了。是的,除了我的表單和模型不匹配之外,這是行得通的。表單域是同一列中的所有行。 – user984003
- 1. django:不可空字段的默認值
- 2. Django模型字段默認爲空
- 3. Django AdminForm字段默認值
- 4. 默認值,如果輸入字段爲空
- 5. 使用RadioSelect窗體的Python/Django BooleanField模型默認爲空
- 6. Django如何配置爲不使默認字段不爲空?
- 7. 在默認窗體中覆蓋django模型默認值?
- 8. Powermail:用默認值填充空字段
- 9. 編輯Django窗體的默認字段'help_text(1.11)
- 10. 如果爲空分配默認值
- 11. getStringExtra()(如果爲空)的默認值
- 12. 內聯窗體集 - 如何爲子窗體設置默認值
- 13. Django字段的默認值是什麼?
- 14. 值的字段的默認Django管理
- 15. 字段'id'沒有默認值django-registration
- 16. django獲取默認模型字段值
- 17. 如果空白,在HTML表單上設置默認字段值
- 18. 如果實體中的字符串爲空,則在SQL中使用默認值
- 19. LLBLGen默認變量字段值讀取不爲空,但爲空
- 20. 如果值爲空,則使用默認字段將CI插入數據庫中
- 21. 保存的輸入值,這樣,如果一個用戶離開空白它將恢復爲默認
- 22. Windows窗體重置爲默認值
- 23. 如果默認值爲空並轉換爲字符串
- 24. 顯示默認的圖像,如果圖像字段爲空
- 25. 清除輸入,textarea模糊和默認如果字段爲空
- 26. symfony2 - 「實體」字段的默認值?
- 27. django modeltranslation - 默認字段?
- 28. Django的DateTimeField字段默認
- 29. 空白字段的默認值
- 30. Django - 默認字段值取決於其他字段值
我想你應該在模型 – daveoncode
您可以處理在現場驗證(clean_fieldname)方法設置的默認值。 https://docs.djangoproject.com/en/dev/ref/forms/validation/ – PepperoniPizza
謝謝,clean_fieldname似乎是要走的路。希望有一種方法可以在我定義字段時指定它,但我想不是。 – user984003