在django模板中使用session数据
2012-09-17 17:25
756 查看
在视图中把数据放到session里面:
在视图中从session里面取出相应数据:
今天还遇到了另外一个问题,怎样在django的模板中使用session数据:
这种用法是不行的:
在django模板中调用的python函数是不能有参数的,有参数的都不符合语法规范(可以自定义过滤器解决)。
那么在模板中该怎么使用session数据呢?
django中关于session有这样的定义:
在模板中可以对session变量用点语法像访问字典一样访问session中的值。需要查看所有session值的时候使用items方法。
意思就是可以把session看到一个普通字典,可以像访问普通字典一样访问session中的值。所以可以这样访问:
或者用“点语法”访问:
# 把角色名称放到session里面 roleid = request.POST.get('rolename', None) if roleid != None and roleid != '': role = get_object_or_404(Role, pk=int(roleid)) request.session["role"] = role
在视图中从session里面取出相应数据:
if "elementid" in request.session: equipment = Equipment.objects.get(elementid__exact=request.session["elementid"])
今天还遇到了另外一个问题,怎样在django的模板中使用session数据:
这种用法是不行的:
{{ request.session["role"] }}
在django模板中调用的python函数是不能有参数的,有参数的都不符合语法规范(可以自定义过滤器解决)。
那么在模板中该怎么使用session数据呢?
django中关于session有这样的定义:
在模板中可以对session变量用点语法像访问字典一样访问session中的值。需要查看所有session值的时候使用items方法。
意思就是可以把session看到一个普通字典,可以像访问普通字典一样访问session中的值。所以可以这样访问:
{% for key,value in request.session.items %} {% ifequal 'role' key %} {{ value.role_name }} {% endifequal %} {% endfor %}
或者用“点语法”访问:
{{ request.session.role.role_name }}
相关文章推荐
- 在Django所有模板中使用session中的数据
- 如何在Django模板中获取的session中存储的数据
- django模板中直接使用session
- 在Django 模板中使用session
- 在Django的模板中使用认证数据的方法
- Django 模板中使用if标签进行数据比较问题
- 在Django的模板中使用认证数据的方法
- 在Django中使用JavaScript代替模板接收并处理数据
- django-模板标签的使用
- django的模板页面里,如何获取一个集合的数据?
- django 使用mogo 和同步数据库已有数据
- 使用grappelli为django admin后台添加模板
- django中模板文件接受数据类型
- 使用django-suit为django 1.7 admin后台添加模板
- 使用JXL 模板导出数据
- 2、Django中模板的使用
- struts2手动防止数据重复提交,使用struts标签取session中的值
- WPF 数据模板DataType属性的使用,不用指定ItemTemplate
- silverlight 数据模板 DataTemplate 使用 codebehind实现
- django 学习-11 Django模型数据模板呈现