綁定數據我有Django的形式,但在我的HTML我添加了一個額外的輸入字段(在HTML頁面中直接加入),我可以訪問它使用request.POST.get在(「extra_field_name」)我的Django意見。顯示HTML形式使用Django
如果form.is_valid()與在HTML 但與額外添加的字段(在HTML頁面中直接添加)
哪有空值顯示的數據是假的,我可以得到形式HTML我在驗證樣本後獲取這個新添加的額外html字段的有界形式數據。
請提供您的建議?
綁定數據我有Django的形式,但在我的HTML我添加了一個額外的輸入字段(在HTML頁面中直接加入),我可以訪問它使用request.POST.get在(「extra_field_name」)我的Django意見。顯示HTML形式使用Django
如果form.is_valid()與在HTML 但與額外添加的字段(在HTML頁面中直接添加)
哪有空值顯示的數據是假的,我可以得到形式HTML我在驗證樣本後獲取這個新添加的額外html字段的有界形式數據。
請提供您的建議?
查看:
html_added_field = ''
error_added_field = None
if request.method == 'POST':
html_added_field = request.POST.get('extra_field_name')\
if form.is_valid():
pass
else:
error_added_field = _('Error')
context = {'html_added_field':html_added_field,'error_added_field':error_added_field}
HTML:
<input type="text" value="{{ html_added_field }}" />{% if error_added_field %}<div class="error">{{ error_added_field }}</div>{% endif %}
本文由貝內特可以幫助你。
http://www.b-list.org/weblog/2008/nov/09/dynamic-forms/
簡單地說,你必須重寫表單的__init__
方法,將有新的「extra_field_name」。這些字段包含在self.fields列表中,所以這樣做:
self.fields['extra_field_name'] = forms.CharField(put_here_definitions_for_your_field)
應該做的伎倆。
說實話,最好的辦法是爲你的基地Django的形式來處理額外的場。不在HTML中使用額外的字段。但是如果你不能/不想,因爲xbello狀態,在http://www.b-list.org/weblog/2008/nov/09/dynamic-forms/你有處理動態領域的各種技巧。
我發現更強大的使用形式工廠方法。一個生成動態表單的函數,爲更多未來更改做好準備。不過,你必須決定:-)
最好的方法