• 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 这里就不展示了。

    贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒
  • 相关阅读:
    还敢说你是程序员?一律师闲着没事写了个app,用户量600万
    cnentos中进行bond网卡配置,一切配置无问题,就是ping不通宿主机
    他曾被腾讯、百度、金山、遨游等联合封杀,如今他发展的却更好
    百度命不久矣?他为什么这么说?
    html实现下拉框、switch开关、复选框效果
    javascript拖拽滑动条
    行内元素默认间距的4种解决办法
    Html5 video用法详解
    npm装包时-S和-D的区别
    css3实现背景模糊的三种方式
  • 原文地址:https://www.cnblogs.com/rayong/p/7028806.html
Copyright © 2020-2023  润新知