示例1

 # Create your views here.
user = "a"
pwd = "a"
def login(request):
if request.method =="GET":
return render(request,"login.html")
elif request.method == "POST":
u = request.POST.get("user")
p = request.POST.get("password")
print(u)
print(p)
if u ==user and p ==pwd:
res = redirect("/index")
res.set_cookie('user',u,max_age=5) #设置cookie,关闭浏览器cookie失效。max_age=5表示5秒后cookie失效,需要重新登录
return res
else:
return render(request,"login.html")
def index(request):
v = request.COOKIES.get("user")
if v:
return render(request,"index.html",{"current_user":v})
else:
return redirect("/login")

示例2   ---   基于装饰器实现用户认证

 user = "a"
pwd = "a" def auth(func):
def inner(reqeust,*args,**kwargs):
v = reqeust.COOKIES.get('user')
if not v:
return redirect('/login')
return func(reqeust, *args,**kwargs)
return inner def login(request):
if request.method =="GET":
return render(request,"login.html")
elif request.method == "POST":
u = request.POST.get("user")
p = request.POST.get("password")
if u ==user and p ==pwd:
res = redirect("/index")
res.set_cookie('user',u,max_age=5) #设置cookie,关闭浏览器cookie失效。max_age=5表示5秒后cookie失效,需要重新登录
return res
else:
return render(request,"login.html")
@auth
def index(request):
v = request.COOKIES.get("user")
return render(request,"index.html",{"current_user":v})

django之基于cookie和装饰器实现用户认证的更多相关文章

  1. Django基础七之CBV装饰器和中间件

    Django基础七之CBV装饰器和中间件 目录 Django基础七之CBV装饰器和中间件 1. CBV加装饰器 2. Django中间件 2.1 Django中间件介绍 2.2 自定义中间件 2.2. ...

  2. python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)

    12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...

  3. django 使用装饰器验证用户登陆

    使用装饰器验证用户登陆,需要使用@method_decorator 首先需引用,method_decorator,并定义一个闭包 from django.utils.decorators import ...

  4. csrf跨站请求伪造、csrf相关装饰器、auth认证模块、基于django中间件设计项目功能

    目录 csrf跨站请求网站 什么是csrf跨站请求网站 经典例子-钓鱼网站 模拟 如何避免这种现象(预防) 如何在django中解决这个问题 form表单 ajax csrf相关装饰器 FBV CBV ...

  5. simple_tag,filte,分页以及cookie和装饰器

    自定义simple_tag 内置的方法 首先Django中包含了很多内置的方法: 这里通过lower实现 在views视图函数中写如下代码: def tp3(request): name= " ...

  6. Python - Django - 在 CBV 中使用装饰器

    urls.py: from django.conf.urls import url from app02 import views urlpatterns = [ # app02 url(r'^app ...

  7. [原创]django+ldap实现单点登录(装饰器和缓存)

    前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...

  8. python框架之Django(8)-CBV中添加装饰器

    现有如下检查登录装饰器: from functools import wraps def check_login(func): @wraps(func) def inner(request, *arg ...

  9. django视图函数中 应用装饰器

    from django.shortcuts import render, redirect, HttpResponse from .forms import LoginForm, Registrati ...

随机推荐

  1. stm32之入门知识

    一.stm32最小系统 stm32最小系统组成如下(除了stm32芯片外): 1.电源模块,3.3V电源,需要用稳压器件,有时要用感容网络产生stm32所使用的模拟电源. 2.时钟模块,有源或者无源晶 ...

  2. [cf2015ICLFinalsDiv1J]Ceizenpok’s formula

    题意:$C_n^m\% k$ 解题关键:扩展lucas+中国剩余定理裸题 #include<algorithm> #include<iostream> #include< ...

  3. UGUI ScrollRect滑动居中CenterOnChild实现

    NGUI有一个UICenterOnChild脚本,可以轻松实现ScrollView中拖动子物体后保持一个子物体位于中心位置.然而UGUI就没这么方便了,官方并没有类似功能的脚本.网上找到一些运行效果都 ...

  4. shader之顶点着色器

    Vertex Shader 是渲染管道中一个可编程的模块,用于处理独立的顶点.Vertex Shader接收Vertex Attribute Data,由定点数组对象通过渲染指令来生成. Vertex ...

  5. JavaWeb_打包web应用war

    使用下面的语句进行打包 jar -cvf aa.war news 打包之后的文件可以直接放在tomcat的webapps里面,一旦启动tomcat,会自动解压aa.war文件.

  6. WPF之触发器

    简单触发器<Window x:Class="WpfApp.Window1" xmlns="http://schemas.microsoft.com/winfx/20 ...

  7. 30个物联网传感器小实验:三行代码点亮LED灯

    30个物联网传感器小实验:三行代码点亮LED灯 三行代码点亮LED灯 LED灯闪烁 LED灯调亮度 LED淡入淡出 不写一行代码点亮LED灯 全彩RGB灯 面包板 30个物联网传感器小实验:三行代码点 ...

  8. 三、python的基本类型

    一.number 整数 int 浮点数 float 1.type()查看类型 >>> type(1) <class 'int'> >>> type(1. ...

  9. 基于IDEA实现SSM整合框架的搭建配置流程

    1.创建数据库表,以员工信息表为例子: DROP TABLE IF EXISTS `em_info`; CREATE TABLE `em_info` ( `em_id` INT(50) NOT NUL ...

  10. PAT甲级——1107 Social Clusters (并查集)

    本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90409731 1107 Social Clusters (30  ...