您的位置:首页 > 编程语言 > Go语言

在django模板中使用session数据

2012-09-17 17:25 756 查看
在视图中把数据放到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 }}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: