2013-07-05 4 views
6

काम नहीं करता है यदि उपयोगकर्ता एक सुपरसियर है तो मैं एक बटन दिखाना चाहता हूं। मुझे differents उदाहरण मिल गए हैं लेकिन मेरा कोड काम नहीं करता है। बटन प्रकट नहीं होता है। किसी को पता है क्यों?django request.user.is_superuser

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

मैं केवल डेटाबेस में एक उपयोगकर्ता है और वह एक सुपर उपयोगकर्ता है। मैं "लॉगआउट" बटन और दूसरा देख सकता हूं, लेकिन "क्रेअर जोना" बटन नहीं।

+0

को {% if request.user.is_superuser %} बदल दिया है यह नहीं होना चाहिए सिर्फ 'user.is_superuser'? – karthikr

+0

हाँ, यह काम करता है! मुझे इसे अनुरोध के साथ मिला था। इससे पहले ... – user2170928

उत्तर

6

आप इस Generic view हैं:

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

सेटिंग्स में संदर्भ प्रोसेसर कर रहे हैं?

यह और अधिक 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 %} 

मैं {% if user.is_superuser %}

+0

आपकी मदद के लिए धन्यवाद! यह अब काम करता है। – user2170928

+0

उत्तर को सही के रूप में सेट करें, कृपया। अगर यह आपकी मदद करता है :) – lalo