文件名称:模板中的身份验证数据-libmodbus源码解析
文件大小:7.37MB
文件格式:PDF
更新时间:2024-07-14 01:47:25
11.7模板中的身份验证数据 使用 RequestContext时,当前登录用户及其权限可通过模板上下文访问。 11.7.1用户 渲染模板的 RequestContext时,当前登录用户,不管是 User实例还是 AnonymousUser实例,都存储在模板变 量 {{ user }}中: {% if user.is_authenticated %}
Welcome, {{ user.username }}. Thanks for logging in.
{% else %}Welcome, new user. Please log in.
{% endif %} 如果使用的不是 RequestContext,这个模板上下文变量不可用。 11.7.2权限 当前登录用户的权限存储在模板变量 {{ perms }}中。它的值是 django.contrib.auth.context_proces- sors.PermWrapper的一个实例,对模板友好。在 {{ perms }}对象中,单属性查找由 User.has_module_perms 代理。只要当前登录用户在 foo应用中有权限,下述示例就返回 True: {{ perms.foo }} 两层属性查找由 User.has_perm代理。如果当前登录用户有 foo.can_vote权限,下述示例返回 True: {{ perms.foo.can_vote }} 因此,在模板中可以使用 {% if %}语句检查权限: {% if perms.foo %}You have permission to do something in the foo app.
{% if perms.foo.can_vote %}You can vote!
{% endif %} {% if perms.foo.can_drive %}You can drive!
{% endif %} {% else %}You don't have permission to do anything in the foo app.
{% endif %} 168 - 第 11 章 在 Django 中验证用户的身份