Django session 序列化对象
2017-04-16 00:00
323 查看
摘要: session序列化
在做登录页面时,需要把登录后的用户信息存放到session当中,而前台模版也需要获取session当中的用户名称,此时将session序列化成对象,更方便取值 ,(对比外键跨表查询)
session request.session['user']=user # user 为需要保存的用户对象
在 settings.py 中配置序列化相关
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
html 通过模版获取 登录的用户名
{{ request.session.uesr.name }}
setting.py 中将session 序列化成对象
前台html 就可以通过模版 {{ request.session.user.name }} 来获取用户名
在做登录页面时,需要把登录后的用户信息存放到session当中,而前台模版也需要获取session当中的用户名称,此时将session序列化成对象,更方便取值 ,(对比外键跨表查询)
方法:
在 views.py 或其他登录相关模块中设置 sessionsession request.session['user']=user # user 为需要保存的用户对象
在 settings.py 中配置序列化相关
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
html 通过模版获取 登录的用户名
{{ request.session.uesr.name }}
相关代码:
login.pyrom django.shortcuts import render,redirect from blog.models import UserInfo import hashlib #加密 def login(request): if request.method=='POST': status={} name=request.POST.get('username') password=request.POST.get('password') md5 = hashlib.md5() md5.update(password.encode('UTF-8')) #将输入的密码进行MD5加密 #将用户名和密码和数据库进行比对,如果匹配,则存放到session 中 try: user = UserInfo.objects.get(name=name, password=md5.hexdigest()) request.session['user'] = user return redirect('/index/') except: status['error']='用户名或密码错误' return render(request,'login.html', status) return render(request,'login.html')
setting.py 中将session 序列化成对象
#添加 session 序列化相关内容 SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
前台html 就可以通过模版 {{ request.session.user.name }} 来获取用户名
您好,{{request.session.user.name}}
相关文章推荐
- 在Django的session中使用User对象的方法
- django对象的序列化,转换json
- 对象序列化------session id
- 对象存入session中时,未序列化报错的问题
- 在Django的session中使用User对象的方法
- Django中视图总结[urls匹配,HttpRequest对象,HttpResponse,render,redirect对象,对象序列化接受及案例]
- 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化
- 21:序列化django对象
- Serialize----序列化django对象
- 浅谈对象的序列化(Serialize)
- .NET 中的对象序列化
- XML 对象反序列化也动态编译?
- [Java]java对象序列化学习笔记
- .NET 中的对象序列化
- 浅谈对象的序列化(Serialize)
- ASP编程入门进阶(八):内置对象Session
- ADO.NET Quiz 之对象序列化
- 业务实体对象(Business Entity Object)的序列化
- Java对象序列化
- 将java的对象序列化成文件,并从文件中反序列化。