zoukankan      html  css  js  c++  java
  • Python

    home.html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>个人信息页面</title>
    </head>
    <body>
    
    <p>个人信息页面</p>
    
    </body>
    </html>
    

    只有返回一串字符串

    login.html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>登录页面</title>
    </head>
    <body>
    
    <p>登录页面</p>
    
    <form action="/login/" method="post">
        {% csrf_token %}
        <p>
            账号:
            <input type="text" name="user">
        </p>
        <p>
            密码:
            <input type="text" name="pwd">
        </p>
        <p>
            <input type="submit" value="登录">
        </p>
    </form>
    
    </body>
    </html>
    

    要考虑加上 csrf_token,不然会 403

    login 函数:

    from django.shortcuts import render, redirect
    from app01 import models
    
    
    def login(request):
        if request.method == "POST":
            username = request.POST.get("user")
            password = request.POST.get("pwd")
            if username == "admin" and password == "admin":
                rep = redirect("/home/")  # 得到一个响应对象
                rep.set_cookie("login", "success")  # 设置 cookie
                return rep
    
        return render(request, "login.html")
    

    set_cookie() 中的第一个参数为 key,第二个参数为 value

    home 函数:

    from django.shortcuts import render, redirect
    from app01 import models
    
    
    def home(request):
        ret = request.COOKIES.get("login")  # 获取 cookie 的 value
        if ret == "success":
            # cookie 验证成功
            return render(request, "home.html")
        else:
            return redirect("/login/")
    

    输入账号、密码:admin,cookie 验证成功

    给 cookie 加盐:

    login 函数:

    from django.shortcuts import render, redirect
    from app01 import models
    
    
    def login(request):
        if request.method == "POST":
            username = request.POST.get("user")
            password = request.POST.get("pwd")
            if username == "admin" and password == "admin":
                rep = redirect("/home/")  # 得到一个响应对象
                # rep.set_cookie("login", "success")  # 设置 cookie
                rep.set_signed_cookie("login", "success", salt="whoami")  # 设置 cookie 并加盐
                return rep
    
        return render(request, "login.html")
    

    home 函数:

    from django.shortcuts import render, redirect
    from app01 import models
    
    
    def home(request):
        # ret = request.COOKIES.get("login")  # 获取 cookie 的 value
        ret = request.get_signed_cookie("login", salt="whoami")  # 获取加盐后 cookie 的 value
        if ret == "success":
            # cookie 验证成功
            return render(request, "home.html")
        else:
            return redirect("/login/")
    

    输入账号、密码:admin,cookie 验证成功

  • 相关阅读:
    JavaScript借助xpath操纵xml数据(一)
    JavaScript借助xpath操纵xml数据(二)
    保留域——$$Return
    ExtJS中get、getDom、getCmp、getBody、getDoc使用 javascript
    关于编辑器编码保存为utf8问题
    query 用法
    简历模版(抛砖引玉)总觉得自己简历做得不够好的朋友请进来
    sql 查询慢的48个原因分析
    Word 实用技巧整理
    JAVA文件操作大全
  • 原文地址:https://www.cnblogs.com/sch01ar/p/11342984.html
Copyright © 2011-2022 走看看