我已經能夠實現this change來創建在WTForms中禁用的字段。如何在呈現之前選擇性地禁用視圖中的字段?Python Flask WTForms:如何在視圖中動態禁用字段?
5
A
回答
7
如果您嘗試刪除字段,則可以查看文檔中的Removing Fields Per-instance。
從文檔:
有時候,你創造出具有不在 所有情況下,還是對所有用戶有用的字段的表格。雖然確實可以使用 表單繼承來定義一個包含所需字段的表單,但有時需要調整現有表單。幸運的是, 形式可以有場使用德爾 關鍵字刪除,實例化後:
class MagazineIssueForm(Form):
title = TextField()
year = IntegerField('Year')
month = SelectField(choices=MONTHS)
def edit_issue():
publication = get_something_from_db()
form = MagazineIssueForm(...)
if publication.frequency == 'annual':
del form.month`
5
這幾乎就像@Bibhas建議。 如果我理解這個正確的,你想通過HTML disabled屬性來禁用一個字段,那麼下面的工作對我來說:
form.field(disabled=True)
這個答案可能有點晚了,但如果任何其他人有這個問題,可能有幫助。
3
VIM forms.py:
add_time = DateTimeField(
'添加時間',
format='%Y-%m-%d %H:%M:%S',
default=datetime.datetime.now(),
# I use bs3,and it well add input an attribute disabled
render_kw={'disabled':''},
validators=[DataRequired()],
)
+0
謝謝你!在我的例子中,表單已經被實例化,所以我只是'form.my_field.render_kw = {'disabled':'disabled'}'。 – elethan 2017-05-15 17:41:37
相關問題
- 1. Flask + WTForms - FormList中的顯示字段
- 2. 使用WTForms改進簡單的自定義URL字段(Python/Flask)
- 3. Flask-WTForms:如何檢查是否需要字段?
- 4. Flask-WTForms如何覆蓋無線電字段上的pre validate
- 5. 在wtforms中實現__init__,Flask
- 6. 在Flask WTForms字段中嵌入HTML標記
- 7. 確定在Flask視圖中按下了哪個WTForms按鈕
- 8. wtforms,CSRF,flask,FieldList
- 9. 使用Flask-WTForms字段描述來呈現html標題屬性
- 10. 如何使用FormField在Flask/WTForms中使用populate_obj?
- 11. HOWTO:動態生成CSRF令牌在WTForms從Flask
- 12. wtforms隱藏字段值
- 13. Flask-WTForms測試(使用py.test)
- 14. Flask-WTForms在我的項目目錄中找不到WTForms
- 15. Flask WTForms FieldList與BooleanField
- 16. python flask禁用手動頁面
- 17. 使用wtforms動態添加輸入字段
- 18. 禁用啓用文本字段動態
- 19. 啓用禁用動態文本字段
- 20. 如何使用多個動態字段創建「創建視圖」?
- 21. 如何在WTForms中創建名爲«from»的字段?
- 22. 在Flask中的WTform中創建動態字段
- 23. Flask wtforms DecimalField不顯示在HTML中
- 24. 使用基於類的視圖管理Flask中URL的可選動態段
- 25. 在Django的通用視圖中的動態表單字段
- 26. 如何禁用圖庫視圖滾動
- 27. Flask-WTForms:動態創建名稱和ID屬性
- 28. 帶Flask,Flask-Admin和WTforms的DatePickerWidget
- 29. 在片段中添加動態視圖
- 30. 在片段中動態添加視圖
你可以試試'form.field(禁止_ = 「已禁用」)'模板。 http://wtforms.simplecodes.com/docs/1.0.4/fields.html#wtforms.fields.Field.__call__ – 2013-05-07 17:05:48