环境django2或者3
改动几个配置
1.views.py
from django.contrib.auth.decorators import login_required
在需要认证身的的方法的前一行@login_required
2.urls.py
from django.contrib.auth.views import login
#测试django3 使用这种 from django.contrib.auth import views as auth_views
urlpatterns =
url(r'^accounts/login/$', login), #此处加一行
django3以上的版本写法略有不同 patch('accounts/login/',auth_views.LoginViews.asview()),
3.settings.py
LOGIN_REDIRECT_URL = '/django' #指登陆后跳转的页面
4.在templates目录下新建registration目录
目录结构templates\registration
5.创建简易的登陆页面
templates\registration\login.html
在上一步创建的目录下编写login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<div class="container">
<form class="form-signin" action="/accounts/login/" method="post">{% csrf_token %} <!--csrf_token:生成令牌-->
<h2 class="form-signin-heading" align="center">登录系统</h2>
<label for="inputUsername" class="sr-only">username</label>
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="username" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="Password" required>
<div class="checkbox">
<label>
<input type="checkbox" value="remember-me"> 记住密码
</label>
</div>
<br />
<button class="btn btn-lg btn-primary btn-block" type="submit">登录</button>
<br />
<span style="color: red;">{{ login_err }}</span>
</form>
</div> <!-- /container -->