所有
我有一个模板页面说x.html
我有3个文本字段名称(varchar2),age(int),school(varchar2)。
如果用户在x.html中输入表单中的值(比如值name =“a”,age =“2”,school =“a”)并提交它。我需要将相同的值返回给x .html表示错误。
我的问题是如何将相同的值返回到x.html。
感谢.....
答案 0 :(得分:2)
来自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,
})
答案 1 :(得分:2)
只要您将表单对象提供给呈现的模板,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()
)时,它将为空白。
答案 2 :(得分:0)
如果您使用的是django表单,它将自行进行验证,然后返回您需要的值。 Here您可以阅读有关使用表单以及如何验证值的信息。基本上,当您将某些值传递到表单中并且它无效时,您只需再次渲染该站点,但django将自动填充字段。不要费心写自己的表格,除非你真的,真的需要它们。在你的例子中你真的没有; - )
答案 3 :(得分:0)
我不确定您是如何处理表单信息的。但是,如果您使用Django中内置的Form API,它会为您处理大部分内容。有关详细信息,请查看Django Docs for Forms http://docs.djangoproject.com/en/dev/topics/forms/#topics-forms-index
如果您使用Form API并且提交无效,Django会为模板提供表单的绑定副本,其中包含用户提供的数据。同样,您必须阅读API的详细信息,以了解如何在您的情况下实现它。