django request.user.is_superuser 不起作用
Posted
技术标签:
【中文标题】django request.user.is_superuser 不起作用【英文标题】:django request.user.is_superuser doesn't work 【发布时间】:2013-07-03 12:55:30 【问题描述】:如果用户是超级用户,我想显示一个按钮。我找到了不同的示例,但我的代码不起作用。按钮不出现。有人知道为什么吗?
views.py
def inici(request):
zones = Zona.objects.all()
return render_to_response('principal/inici.html', dict(zones=zones),
context_instance = RequestContext(request))
inici.html
% if not user.is_authenticated %
....
% else %
<ul>
<li class="nivell1">
<a href="/accounts/logout/?next=/">Logout</a>
</li>
<li class="nivell1">
<a class="nivell1" herf="#"> Configuració </a>
</li>
% if request.user.is_superuser %
<li class="nivell1">
<a href="zona/crear/">Crear zona</a>
</li>
% endif %
</ul>
% endif %
我在数据库中只有一个用户,他是超级用户。我可以看到“注销”按钮和另一个按钮,但看不到“crear zona”按钮。
【问题讨论】:
不应该只是user.is_superuser
吗?
是的,它有效!我是应要求找到的。之前...
【参考方案1】:
你想要这个Generic view:
class IniciView(ListView):
template_name = 'principal/inici.html'
model = Zona
设置中有上下文处理器吗?
这更可重复:
% if user.is_authenticated %
<ul>
<li class="nivell1">
<a href="/accounts/logout/?next=/">Logout</a>
</li>
<li class="nivell1">
<a class="nivell1" herf="#"> Configuració </a>
</li>
% if user.is_superuser %
<li class="nivell1">
<a href="zona/crear/">Crear zona</a>
</li>
% endif %
</ul>
% else %
...
% endif %
我已将% if request.user.is_superuser %
更改为% if user.is_superuser %
【讨论】:
以上是关于django request.user.is_superuser 不起作用的主要内容,如果未能解决你的问题,请参考以下文章