2013-07-05 30 views
6

Tôi muốn hiển thị nút nếu người dùng là siêu người dùng. Tôi đã tìm thấy các ví dụ khác nhau nhưng mã của tôi không hoạt động. Nút không xuất hiện. Có ai biết tại sao không?django request.user.is_superuser không hoạt động

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

tôi chỉ có một người dùng trong cơ sở dữ liệu và ông là một người dùng siêu. Tôi có thể thấy nút "đăng xuất" và nút kia, nhưng không phải nút "crear zona".

+0

nên nó không thể chỉ 'user.is_superuser'? – karthikr

+0

Vâng, nó hoạt động! Tôi đã tìm thấy nó với yêu cầu. trước ... – user2170928

Trả lời

6

Bạn muốn điều này Generic view:

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

là những bộ vi xử lý bối cảnh trong cài đặt?

Đây là chi tiết 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 %} 

Tôi đã thay đổi {% if request.user.is_superuser %} để {% if user.is_superuser %}

+0

Cảm ơn sự giúp đỡ của bạn! Nó hoạt dộng bây giờ. – user2170928

+0

Đặt câu trả lời là chính xác, vui lòng. Nếu nó giúp bạn :) – lalo

Các vấn đề liên quan