所有返回Django的形式,內容,誤差
我有一個模板頁說x.html
我有3個文本在IT領域的域名(VARCHAR2),年齡(INT),學校(VARCHAR2)。
如果用戶輸入在x.html形式(比如值名稱=「一」,年齡=「2」,學校=「A」)的值,並提交它。我需要回到返回相同的值指示錯誤的x.html。
我的問題是如何返回相同的值x.html。
感謝.....
所有返回Django的形式,內容,誤差
我有一個模板頁說x.html
我有3個文本在IT領域的域名(VARCHAR2),年齡(INT),學校(VARCHAR2)。
如果用戶輸入在x.html形式(比如值名稱=「一」,年齡=「2」,學校=「A」)的值,並提交它。我需要回到返回相同的值指示錯誤的x.html。
我的問題是如何返回相同的值x.html。
感謝.....
從docs:
在一個視圖處理的形式標準模式如下:
def contact(request):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ContactForm() # An unbound form
return render_to_response('contact.html', {
'form': form,
})
我不知道你是如何處理你的表單信息。但是,如果您使用Django中內置的表單API,它會爲您處理大部分此類問題。有關詳細信息,請查看Django Docs for Forms http://docs.djangoproject.com/en/dev/topics/forms/#topics-forms-index
如果您使用表單API並且提交無效,那麼Django會爲該模板提供表單的綁定副本,並且已經包含用戶提供的數據。同樣,您必須閱讀API的詳細信息以瞭解如何在您的情況下實施它。
感謝........................... – Hulk 2010-01-13 19:27:55
只要您將表單對象提供給呈現的模板,Django就會將提交的值寫回。例如,在你看來,是這樣的:
# handle POST
form = MyForm(request.POST)
if form.is_valid():
# do something and redirect
else:
# render the template with the invalid form
return render_to_response('mytemplate.html', {'form': form})
,並在您的模板,是這樣的:
{{ form.myfield.label_tag }}
{% if form.myfield.errors %} indicate error message/icon here {% endif %}
{{ form.myfield }}
注意{{ form.myfield }}
將展示基礎上,爲myfield
與先前提交的值的HTML控件查看上面的代碼。這將是空白的,當你在響應GET
(例如form = MyForm()
)與空白表單呈現它。
謝謝........................... – Hulk 2010-01-13 19:25:58