Django之用户登录实例

1,django目录结构(需要用到的文件用红箭头标记):

2,首先在templates模版目录下创建login.html文件

3,将bootstrap导入到static/plugins目录下   PS:Bootstrap是Twitter推出的一个用于前端开发的开源工具包,有很丰富的前端各种案例

4,首先在templates下创建login.html登陆首页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陆</title>
    <link rel="stylesheet" href="/static/plugins/bootstrap/css/bootstrap.css"></link>
</head>
<body>
    <div class="container">
        <form class="form-horizontal" action="/login/" method="post">
              <div class="form-group">
                <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
                <div class="col-sm-10">
                  <input type="email" name="email" class="form-control" placeholder="Email">
                </div>
              </div>
              <div class="form-group">
                <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
                <div class="col-sm-10">
                  <input type="password" name="pwd" class="form-control" placeholder="Password">
                </div>
              </div>
              <div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                  <button type="submit" class="btn btn-default">Sign in</button>
                    <span style="color:red;"> {{ status }}</span>
                </div>
              </div>
        </form>
    </div>


<script type="text/javascript" src="/static/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="static/plugins/bootstrap/js/bootstrap.js"></script>
</body>
</html>

  

5,先把login.html加到django的路由表里面,django的路由文件是urls.py

from django.conf.urls import include, url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^home/', views.home),
    url(r'^son/', views.son),
    url(r'^login/',views.login),
]

  


6,路由文件添加好后,在vies.py中添加登陆认证逻辑
def login(request):
   print request.method
   if request.method == "POST":    #login.html是用POST方式提交,这里判断是POST方式后,就开始处理玩家的输入
      input_email = request.POST['email'] #获取login.html用户的输入,取name的值 <input type="email" name="email" class="form-control" placeholder="Email">
       input_pwd = request.POST['pwd']     #获取login.html用户的输入,取name的值 <input type="password" name="pwd" class="form-control" placeholder="Password">

      if input_email == 'lei@qq.com' and input_pwd == "123":
         from django.shortcuts import redirect    #导入django的重定向模块
         return redirect("http://www.baidu.com")  #重定向到百度
      else:
         return render(request, 'login.html',{'status':'ERROR Incorrect username or password'})    #如果用户输入的账号密码不对,就提示错误信息"ERROR Incorrect username or password" ,login.html页面采用模版来渲染这段错误提示

   return render(request,'login.html')

  

7,验证效果

首先故意输错,看页面提示什么

输入错误的账号密码后,页面提示红色错误

这次输入正确的账号密码,正常是会跳转到http://www.baidu.com 这里就不展示了。

贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒
原文地址:https://www.cnblogs.com/rayong/p/7028806.html