use*_*928 12 django django-admin django-views
如果用户是超级用户,我想显示一个按钮.我找到了不同的例子,但我的代码不起作用.该按钮不会出现.谁知道为什么?
views.py
def inici(request):
zones = Zona.objects.all()
return render_to_response('principal/inici.html', dict(zones=zones),
context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
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 %}
Run Code Online (Sandbox Code Playgroud)
我只有数据库中的用户,他是超级用户.我可以看到"注销"按钮和另一个按钮,但不能看到"crear zona"按钮.
lal*_*alo 10
你想要这个通用视图:
class IniciView(ListView):
template_name = 'principal/inici.html'
model = Zona
Run Code Online (Sandbox Code Playgroud)
设置中的上下文处理器?
这更可靠:
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
我改变{% if request.user.is_superuser %}
了{% if user.is_superuser %}
归档时间: |
|
查看次数: |
15269 次 |
最近记录: |