zoukankan      html  css  js  c++  java
  • Django user authenticate 登录验证

    Django视图函数

    view视图函数
    from django.shortcuts import render,redirect
    from django.contrib.auth import authenticate,login,logout
    
    def acc_login(request):
        “登录验证”’
        error_msg = ''
        if request.method == "POST":
            username = request.POST.get('username')
            password = request.POST.get('password')
        
            user = authenticate(username=username,password=password)
            # 用户去做验证
            if user:
                print("passed authencation",user)
                login(request,user)  # 登录可以显示用户
                #request.user = user
    
                return  redirect( request.GET.get('next','/') )
            else:
                error_msg = "Wrong username or password!"
        return render(request, 'login.html', {'error_msg':error_msg})
    
    
    def acc_logout(request):
        #退出
        logout(request)
        return redirect("/login/")

    Django 前端

    <div class="container">
    
          <form class="form-signin" method="post">{% csrf_token %}
            <h2 class="form-signin-heading">PerfectCRM</h2>
            <label for="inputEmail" class="sr-only">Username</label>
            <input type="text" id="" name="username" class="form-control" placeholder="Username" required autofocus>
            <label for="inputPassword" class="sr-only">Password</label>
            <input type="password" name="password" class="form-control" placeholder="Password" required>
             <span style="color: red">{{ error_msg }}</span>
            <div class="checkbox">
              <label>
                <input type="checkbox" value="remember-me"> Remember me
              </label>
            </div>
            <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
          </form>
    
    </div> <!-- /container -->
    

      如果想给每条视图函数加验证只需要导入

      from django.contrib.auth.decorators import login_required

      给每个视图函数加上@login_required

     

     

  • 相关阅读:
    C++ string用法
    C++ 静态变量及函数的生命周期
    C++ const的用法和作用
    C++ 指针和引用的区别
    C++ struct 和 Class的区别
    C++对象模型-构造函数语意学
    大端模式与小端模式、网络字节顺序与主机字节顺序
    Spring Boot系列——Spring Boot如何启动
    分库分表利器——sharding-sphere
    并发和多线程-八面玲珑的synchronized
  • 原文地址:https://www.cnblogs.com/sunkai1993/p/6827848.html
Copyright © 2011-2022 走看看