手机
当前位置:查字典教程网 >脚本专栏 >python >在Django的模板中使用认证数据的方法
在Django的模板中使用认证数据的方法
摘要:当前登入的用户以及他(她)的权限可以通过RequestContext在模板的context中使用。注意从技术上来说,只有当你使用了Reque...

当前登入的用户以及他(她)的权限可以通过 RequestContext 在模板的context中使用。

注意

从技术上来说,只有当你使用了 RequestContext这些变量才可用。 并且TEMPLATE_CONTEXT_PROCESSORS 设置包含了 “django.core.context_processors.auth” (默认情况就是如此)时,这些变量才能在模板context中使用。 TEMPLATE_CONTEXT_PROCESSORS 设置包含了 "django.core.context_processors.auth" (默认情况就是如此)时,这些变量才能在模板context中使用。

当使用 RequestContext 时, 当前用户 (是一个 User 实例或一个 AnonymousUser 实例) 存储在模板变量 {{ user }} 中:

{% if user.is_authenticated %} <p>Welcome, {{ user.username }}. Thanks for logging in.</p> {% else %} <p>Welcome, new user. Please log in.</p> {% endif %}

这些用户的权限信息存储在 {{ perms }} 模板变量中。

你有两种方式来使用 perms 对象。 你可以使用类似于 {{ perms.polls }} 的形式来检查,对于某个特定的应用,一个用户是否具有 任意 权限;你也可以使用 {{ perms.polls.can_vote }} 这样的形式,来检查一个用户是否拥有特定的权限。

这样你就可以在模板中的 {% if %} 语句中检查权限:

{% if perms.polls %} <p>You have permission to do something in the polls app.</p> {% if perms.polls.can_vote %} <p>You can vote!</p> {% endif %} {% else %} <p>You don't have permission to do anything in the polls app.</p> {% endif %}

【在Django的模板中使用认证数据的方法】相关文章:

python迭代器的使用方法实例

Python __getattr__与__setattr__使用方法

常用python数据类型转换函数总结

python中的yield使用方法

python paramiko实现ssh远程访问的方法

Python列表推导式的使用方法

Python中的二叉树查找算法模块使用指南

c++生成dll使用python调用dll的方法

python Django模板的使用方法(图文)

python实现问号表达式(?)的方法

精品推荐
分类导航