[英]How do I set a forms.CharField text programmatically?
基本上我正在嘗試創建某種動態表單,我試圖通過post請求更改CharField的值。 簡單地說,我的表單中包含以下字段:
choice = forms.CharField(max_length=50)
在表單的init中,我有這樣的東西:
for key, value in request.post.items():
if key == 'choice' and value != '':
self.fields['choice'] = value
這顯然不起作用,因為我正在為CharField(選擇)分配一個字符串(值)。 任何想法都非常感謝。
這取決於你對該領域的“價值”的意思。
如果您嘗試更改最初顯示表單時顯示的內容,則需要使用與字段名稱對應的鍵傳遞initial
字典:
self.initial['choice'] = 'myvalue'
如果您嘗試更改傳遞給驗證的內容然后更改為cleaned_data
,則需要更改data
參數:
self.data['choice'] = 'myvalue'
您是否在尋找http://jacobian.org/writing/dynamic-form-generation/的內容 ?
在示例中,它通過init添加X個char字段
for i, question in enumerate(extra):
self.fields['custom_%s' % i] = forms.CharField(label=question)
應該能夠為不同的表單字段擴展額外的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.