<h1 class='username'>something</h1>
{% if request.user|stringify == .username %}
这样的事情是否可能?
答案 0 :(得分:3)
不,你不能这样做。你对客户端和服务器端是什么感到困惑。您的动态HTML代码是通过Javascript处理的 - 这是客户端。 Django模板Languange用于服务器端,它生成一个渲染的html页面(这是javascript看到的)
从您的用例我想象
{% if request.user.is_authenticated %}
可能已经足够了,因为您的注销按钮应该足够明显,以便注销用户看到该页面。
或者,您可以使用javascript隐藏它,然后更多地保护视图,以确保请求用户确实有权进行注销。
答案 1 :(得分:0)
假设您的退出按钮的html代码如下:
<h1 class='username'>something</h1>
<button class='logoutbtn'>Logout</button>
然后你可以用这样的javascript隐藏注销按钮:
<script type="text/javascript">
$('.username').html(data.username);
if (data.username != "{{ request.user }}" )
{
$('.logoutbtn').hide();
}
</script>
或者基于data.logged_in_user,如下所示:
<script type="text/javascript">
$('.username').html(data.username);
if (data.username != data.logged_in_user )
{
$('.logoutbtn').hide();
}
</script>