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 验证成功

  • 相关阅读:
    Educational Codeforces Round 15 C. Cellular Network(二分)
    HDU 1044 Collect More Jewels(BFS+DFS)
    NBOJv2 Problem 1009 蛤玮的魔法(二分)
    HDU 1016 Prime Ring Problem(经典DFS+回溯)
    HDU 2181 哈密顿绕行世界问题(经典DFS+回溯)
    OpenCV学习笔记——滑动条开关
    廖雪峰Java15JDBC编程-3JDBC接口-3JDBC更新
    廖雪峰Java15JDBC编程-3JDBC接口-1JDBC简介
    廖雪峰Java15JDBC编程-2SQL入门-2insert/select/update/delete
    廖雪峰Java15JDBC编程-2SQL入门-1SQL介绍
  • 原文地址:https://www.cnblogs.com/sch01ar/p/11342984.html
Copyright © 2011-2022 走看看