zoukankan      html  css  js  c++  java
  • cookie实现访问index无法访问必须从login走,返回固定的session值,

    一个浏览器登陆之后会保存用户名密码,可以直接访问index,换个浏览器访问index就无法访问

    urls

    from django.conf.urls import url
    from django.contrib import admin
    from app import views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'login',views.login),
        url(r'index',views.index),
    ]

    views

    from django.shortcuts import render,redirect
    
    # Create your views here.
    def login(req):
        print("COOKIES",req.COOKIES)
        if req.method=="POST":
            name=req.POST.get("user")
            pwd=req.POST.get("pwd")
            if name=="tom"and pwd==123:
                ret=redirect("index.html")
                ret.set_cookie("username","name")
                return ret
        return render(req,"login.html")
    
    def index(req):
        if req.COOKIES.get("username",None)=="name":
    
            name="tom"
            return render(req,"index.html",locals())
        else:
             return redirect("login.html")

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>{{ name }}</h1>
    </body>
    </html>

    login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="login" method="post">
        <p>姓名<input type="text"name="user"></p>
        <p>密码<input type="password"name="pwd"></p>
        <p><input type="submit"></p>
    </form>
    </body>
    </html>
  • 相关阅读:
    LeetCode485 最大连续1的个数
    LeetCode167 两数之和 II
    js浮点数类型
    js整数类型
    js布尔类型
    js重复赋值 js数据交换 js调式方法
    JavaScript变量
    数据类型分类
    重复赋值 数据交换 查看程序执行结果
    JS注释 JS变量
  • 原文地址:https://www.cnblogs.com/wfl9310/p/9437205.html
Copyright © 2011-2022 走看看