Django raise forms.ValiadationError未显示

2024-09-28 20:59:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个django登录表单,当我单击sign时,如果出现问题,它应该会显示一些错误,但是如果我打印form.errors,它不会出现在html中。它出现在控制台中,下面是一个示例:<ul class="errorlist"><li>username<ul class="errorlist"><li>User does not exist!</li></ul></li></ul>,然后立即在控制台中显示"POST /signin HTTP/1.1"。我想知道,如果我要求它在控制台中打印HTML,而不是在屏幕上显示,为什么它要在控制台中打印HTML。我试过{}和{}。 查看代码:

def login_view(request):
    form = LoginForm(request.POST or None)
    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        user = authenticate(username=username, password=password)
        login(request, user)
        return HttpResponseRedirect('/tickets/createticket')    
    stuff = {'form': LoginForm}
    print form.errors
    return render_to_response('tickets/login.html', stuff, context_instance=RequestContext(request))

Html:

{%load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static 'tickets/signin.css' %}"/>
<h1>Please Sign in</h1>
<form method="POST" id="signin">
{% csrf_token %}
   {{ form.as_p }}
<input type="submit" value="Sign in" />
</form>

Tags: formrequesthtmlusernameloginpasswordliul