在Django的模板中使用认证数据的方法
|
当前登入的用户以及他(她)的权限可以通过 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 %}
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 如何确保Spyder在conda环境中运行?
- Python:用于剪切带有多边形的光栅图像的函数的代码检查
- Python cookbook(数据结构与算法)字典相关计算问题示例
- Python 正则表达式爬虫使用案例解析
- pip matplotlib报错equired packages can not be built解决
- python 转换 Javascript %u 字符串为python unicode的代码
- Python使用Mechanize模块编写爬虫的要点解析
- python判断远程端口是否打开
- 在Python程序中操作文件之flush()方法的使用教程
- 如何在线程安全的方式中使用python中的全局变量
