【发布时间】:2021-06-08 05:16:39
【问题描述】:
我使用模板语法来设置应用程序顶部栏的权限,就像这样
顶栏权限
{% if user.is_authenticated %}
# Top bar html code
{% endif %}
但问题是,当我通过身份验证的用户时,如果他们有正确的 url:uuid 链接,他们可以访问其他用户的个人资料图片和姓名。
我设法通过将此语法放入模板中来解决此问题
{% if object == request.user %}
{% if object.pk %}
{% endif %}
{% endif %}
这解决了可以从个人资料视图访问 request.user 的页面上的问题。如何一次访问所有视图中的 request.user?
【问题讨论】:
-
不明白你的意思我如何一次访问所有视图中的 request.user?因为你所有的视图都可以访问 request.user。顺便说一句,模板中不要使用
request.user,而只是使用user -
问题是答案没有回答问题@TheoMa你的问题是关于视图的,我们在谈论模板:)
-
它没有用,问题是希望只有正确的登录用户才能在顶部栏中设置信息。因为现在这仅适用于配置文件模板,我认为它是因为用户上下文。当我更改为另一个 URL 时,我无法获取用户实例,因此顶部栏不显示 {% if object == request.user %} {% if object.pk %} {% endif %} {% endif %}跨度>
-
解决了这个问题,谢谢,我将模板标签移动到这个命令 {% if user.is_authenticated %} {% if user == request.user %} {% if user.pk %} {% endif %} {% endif %} {% endif %}
标签: django django-models django-rest-framework django-views django-templates