2013-07-05 16 views
6

Chcę wyświetlić przycisk, jeśli użytkownik jest superużytkownikiem. Znalazłem różne przykłady, ale mój kod nie działa. Przycisk nie pojawia się. Ktoś wie dlaczego?django request.user.is_superuser nie działa

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 %} 

mam tylko użytkownik w bazie danych i jest on bardzo łatwy. Widzę przycisk "wyloguj" i drugi, ale nie przycisk "crear zona".

+0

Nie powinien on być po prostu 'user.is_superuser'? – karthikr

+0

Tak, to działa! Znalazłem to z prośbą. przed ... – user2170928

Odpowiedz

6

Chcesz to Generic view:

class IniciView(ListView): 
    template_name = 'principal/inici.html' 
    model = Zona 

są procesory kontekstu, w ustawieniach?

To więcej redeable:

{% 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 %} 

Zmieniłem {% if request.user.is_superuser %} do {% if user.is_superuser %}

+0

Dzięki za pomoc! Teraz działa. – user2170928

+0

Ustaw odpowiedź jako poprawną, proszę. Jeśli ci to pomoże :) – lalo