Django 通过 session 保存个人信息
通过 session 保存 个人 信息
登录的视图函数中:
def login(request):
''' 登录 '''
err, user, pwd = '', '', ''
if request.method == 'POST':
user = request.POST.get('user')
pwd = request.POST.get('pwd')
ret = models.UserProfile.objects.filter(username=user, password=my_md5(user, pwd), is_active=True).first()
# ret = models.UserProfile.objects.filter(username=user, password=pwd, is_active=True).values()
print(ret)
if ret:
return_url = request.GET.get('return_url')
request.session['user_pk'] = ret.pk
if return_url:
return redirect(return_url)
return redirect(reverse('show:public_customer'))
else:
err = '账号或密码错误!'
return render(request, 'login.html', {'err': err, 'user': user, "pwd": pwd})
中间件中
# 白名单
w_list = ['/login/', '/reg/', '/verification_username/']
# 黑名单
b_list = []
def process_request(self, request):
# 获取请求的路径
return_url = request.path_info
# 判断 白名单
if return_url in self.w_list or return_url.startswith('/admin/'):
return
if return_url in self.b_list:
return HttpResponse('<h1>This is an illegal URL</h1>')
# 获取session 的值
user_pk = request.session.get("user_pk")
# 判断是否有session
if user_pk:
# session 保存的是 用户的id 通过id 获取对象
user = models.UserProfile.objects.filter(pk=user_pk).first()
# 将对象保存到 request 中 用于保存用户
request.user_object = user
return
Django 通过 session 保存个人信息的更多相关文章
- session保存用户信息
前台jsp-------------- <%@ page import="com.manager.form.User" %><%User user = reque ...
- django使用session来保存用户登录状态
先建好登录用的model,其次理解使用cookie和session的原理,一个在本机保存,一个在服务器保存 使用session好处,可以设置登录过期的时间, 编写views中login的函数 def ...
- 浅析Django之session与cookie
浅析Django之session与cookie 1 session与cookie概述 原理: 由于HTTP协议是无状态,无连接的,当用户发起网路请求时,需要服务端能标识用户ID,用以存储用户相关信息, ...
- django会话session
因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的.通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于静 ...
- 在Django中Session的那点事!
1.session是什么 首先引入度娘的解释:Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 We ...
- 转:django中session的实现机制
转:www.jianshu.com 要理解session,首先要搞清楚cookie的概念.由于http是无状态的,服务器不能记住用户的信息状态,因此若由同一个客户端发起的多条请求,服务器不能辨别这些请 ...
- 【Django】Session
目录 介绍 Django中操作Session @ 介绍 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存 ...
- Django之session详解
好文章来自追风的小蚂蚁:https://www.cnblogs.com/zhuifeng-mayi/p/9099811.html cookie:Cookie,有时也用其复数形式 Cookies,指某些 ...
- Django 用Session和Cookie分别实现记住用户登录状态
简介 由于http协议的请求是无状态的.故为了让用户在浏览器中再次访问该服务端时,他的登录状态能够保留(也可翻译为该用户访问这个服务端其他网页时不需再重复进行用户认证).我们可以采用Cookie或Se ...
随机推荐
- kong+konga
kong+kongau 注意kong1.0与之前版本API发生了很大的改动,所以是不兼容的,kongav0.14.0是匹配kong1.0+的,不兼容1.0之前的.可以根据自己的需求进行选择. kong ...
- 动态规划法(三)子集和问题(Subset sum problem)
继续讲故事~~ 上次讲到我们的主人公丁丁,用神奇的动态规划法解决了杂货店老板的两个找零钱问题,得到了老板的肯定.之后,他就决心去大城市闯荡了,看一看外面更大的世界. 这天,丁丁刚回到家,他 ...
- .net core Identity集成IdentityServer(2) 实现IprofileService接口在accesstoken中增加自定义claims
导读 1. 如何添加自定义的claims. 前请提要 目前我们拥有了三个web应用. localhost:40010, 验证服务器 localhost:40011, mvc客户端, 充当webapp请 ...
- spring cloud config客户端
上篇介绍了spring cloud config服务器,本篇介绍客户端.客户端主要是从config服务器获取配置信息. 代码示例 首先创建一个Maven项目,在pom.xml文件中添加依赖: < ...
- c# 对Url 解码编码
/// <summary> /// 对Url进行编码 /// </summary> /// <param name="url">url</ ...
- 第一个SpringBoot程序
第一个SpringBoot程序 例子来自慕课网廖师兄的免费课程 2小时学会SpringBoot Spring Boot进阶之Web进阶 使用IDEA新建工程,选择Spring Initializr,勾 ...
- elasticsearch6.7 05. Document APIs(3)GET API
2.GET API get API 可以通过文档id从索引中获取json格式的文档,以下示例从twitter索引中获取type为_doc,id值为0为的JSON文档: GET twitter/_doc ...
- 20个Chrome DevTools调试技巧
译者按: Chrome DevTools很强大,甚至可以替代IDE了! 原文: Art of debugging with Chrome DevTools 译者: Fundebug 为了保证可读性,本 ...
- Flask 中的 特殊装饰器before_request/after_request
before_request :在请求收到之前绑定一个函数做一些事情. after_request: 每一个请求之后绑定一个函数,如果请求没有异常. teardown_request: 每一个请求之后 ...
- vue选中与取消简单实现
<li v-for="(item,index) in assign" :key="index" @click="selected(item)&q ...