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

     

     

  • 相关阅读:
    线性回归——梯度下降
    Python 实现 KNN(K-近邻)算法
    Python 增加博客园阅读量
    阿里云CentOS安装配置Python3.7及pip3
    OnlineJudge难度与正确度的相关性检验
    jsp、jQuery、servlet交互实现登录功能
    Java Web中提交表单之后跳转到WebContent目录下的子目录里的jsp文件
    python3爬虫——下载unsplash美图到本地
    defer原理、性能、优化
    Python生成器和迭代器
  • 原文地址:https://www.cnblogs.com/sunkai1993/p/6827848.html
Copyright © 2011-2022 走看看