簡體   English   中英

如何以編程方式設置forms.CharField文本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM