1.在url.py里增加,(r'^accounts/login/$', 'django.contrib.auth.views.login'),这里,处理url的view,是系统自带的。django.contrib.auth.views.login的功能有以下2个:
a.若为GET,它在同一个url中显示一个login form;
b.若为POST,它将尝试登录。如果login成功,它将重新定向到next所指定的url中,若不成功,将重新显示登录框。
2.编写login的 template。 在默认情况下,这个template的路径应该是:registration/login.html.如果不想使用默认的路径,在1中可以使用(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'myapp/login.html'}),也就是说,第3个参数可以指定login template的路径。login.html的body部分如下:
- <body>
- <h1>User Login</h1>
- {% if form.errors %}
- <p>Your username and password didn't match.
- Please try again.</p>
- {% endif %}
- <form method="post" action=".">
- <p><label for="id_username">Username:</label>
- {{ form.username }}</p>
- <p><label for="id_password">Password:</label>
- {{ form.password }}</p>
- <input type="hidden" name="next" value="/" />
- <input type="submit" value="login" />
- </form>
- </body>
第12行就是指定当login失败时要重定向的路径。
以上两步就可以完成一个简单的认证过程了。