如果在Django模板中只立即给出错误的输入,如何在Django模板中显示表单错误?

如果在Django模板中只立即给出错误的输入,如何在Django模板中显示表单错误?,django,python-2.7,django-forms,django-templates,django-views,Django,Python 2.7,Django Forms,Django Templates,Django Views,::views.py::: class userdetailsView(FormView): form_class = userdetailsViewForm template_name = "customer/user.html" def form_valid(self, form): import os fir = self.request.POST['employee_id'] sec = self.request.POST['name'] thi = s

::views.py:::

class userdetailsView(FormView):
form_class = userdetailsViewForm
template_name = "customer/user.html"

def form_valid(self, form):
    import os
    fir = self.request.POST['employee_id']
    sec = self.request.POST['name']
    thi = self.request.POST['email']
    fou = self.request.POST['address']

    yo ="&&".join([fir,sec,thi,fou])
    print 'Encrypted string:', yo
    return render(self.request, userdetailsView.template_name, {'result': yo ,  'form': form})
::forms.py:::

from django import forms
class userdetailsForm(forms.Form):
employee_id    = forms.IntegerField(min_value = 1,max_value = 999, widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'employee id'}))
name     = forms.CharField(max_length = 10, widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'name'}))
email                 = forms.EmailField(max_length = 25, widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'email'}))
address = forms.CharField(max_length = 50, widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'address'}))
::user.html:::

{% block body %}
<div class='col-md-6'>
<form role="form" method='POST'>

{% csrf_token %}
{{ form.non_field_errors }}
<div class="form-group">
<label for="id_employee_id">{{form.employee_id.label}}</label>
{{ form.employee_id.errors }}{{form.employee_id}}

<div class="form-group">
<label for="id_name">{{form.name.label}}</label>
{{ form.name.errors }}{{form.name}}
</div>
<div class="form-group">

<label for="id_email">{{form.email.label}}</label>
{{ form.email.errors }}{{form.email}}
</div>
<div class="form-group">

<label for="id_address">{{form.address.label}}</label>
{{ form.address.errors}}{{form.address}}
</div>
<div class="form-group">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</form>

<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><strong>user encrypted data</strong></h3>
</div>
  &nbsp;
<div class="well well-lg" >

{{ result }}

</div>
{% endblock %}
在终端中显示以下错误::

<ul class="errorlist"><li>employee_id<ul class="errorlist"><li>Ensure this value is less     than or equal to 999.</li></ul></li></ul>
  • 员工id
    • 确保此值小于或等于999。

**我想打印模板页面(除了输入框之外)本身的错误,以便用户知道在输入错误数据时插入和正确插入的内容。

*我的问题的答案。在views.py中的form\u valid函数之后添加以下代码*

def form_invalid(self, form):
    print form.errors
    return render(self.request, userdetailsView.template_name, {'result': '' ,  'form': form})

这不是你的全部代码。您在某个地方重写了另一个方法,该方法无法返回响应(并且正在将该数据打印到控制台)。在任何情况下,您都不应该以
形式调用
render
,这不是它的目的。而且,正如我之前告诉过你的,你应该让你的变量更具描述性。你不应该做出愚蠢的抱怨,你应该阅读并理解我的评论:你的错误发生是因为你没有展示一些代码。请发布。我没有显示哪个代码??请指定
userdetailsView
的其余部分,即a)打印表单错误和b)无法返回响应的部分。可以通过在代码中发布答案来帮助我吗。。。??
def form_invalid(self, form):
    print form.errors
    return render(self.request, userdetailsView.template_name, {'result': '' ,  'form': form})