zoukankan      html  css  js  c++  java
  • Django登录与注销

    一:Django中自带着登录,验证功能不用自己再去写登录功能。

    1、从相应模块导入组件功能

    from django.contrib.auth import authenticate,login

    2、从request中拿到用户名密码,验证,验证通过获取到用户对象,不通过为None。

            username = request.POST.get("username")
            password = request.POST.get("password")
            user = authenticate(username=username,password=password)

    3、通过之后登录用户,涉及到session操作

            if user:
                # 登录,此时生成了session
                login(request,user)
                return redirect("/crm/")
            else:
                print("no pass")

    二:Django中自带注销用户功能。

    1、注销标签

    <li><a href="{% url 'logout' %}">注销</a></li>
    {% url 'logout' %} 表示url中名字为logout的,即name='logout'

    2、注销view函数

    from django.contrib.auth import authenticate,login,logout
    
    def acc_logout(request):
        logout(request)    # 注销
        return redirect("/login/")    # 页面跳转

    三:登录时用户名或者密码出错时,显示错误提示信息:

    1、前端页面

                <span style="color: red">{{ error_msg }}</span>

    2、后台处理,加上错误信息

        error_msg = ''      # 正确时
        error_msg = 'Wrong username or password!'    
        print(username,password)
    return render(request,"login.html",{"error_msg":error_msg})# 错误时
    

    四:没有登录时,不能进入主页面,只能跳转到登录页面

    具体的哪个视图函数需要,加在哪个视图函数上

    from django.contrib.auth.decorators import login_required
    @login_required
    def dashboard(request):
        return render(request,"crmapp/dashboard.html")
    

    这样没有登录,直接访问连接到该视图函数的url时,会跳转到Django自带的登录页面。

    需要在settings中配置,

    LOGIN_URL = '/login/'
    

      注意url中的next参数:http://127.0.0.1:8080/login/?next=/crm/,表示登录成功后跳转到哪个页面。

  • 相关阅读:
    【源码解析】Flink 是如何处理迟到数据
    Flink assignAscendingTimestamps 生成水印的三个重载方法
    【翻译】生成 Timestamps / Watermarks
    【翻译】The Broadcast State Pattern(广播状态)
    基于Broadcast 状态的Flink Etl Demo
    git 更新fork的远程仓库
    Flink 在IDEA执行时的webui
    配置ssh免密,仍需要密码
    第二章 Kubernetes进阶之使用二进制包部署集群
    Kubernetes之Ingress
  • 原文地址:https://www.cnblogs.com/zjsthunder/p/10200815.html
Copyright © 2011-2022 走看看