2009-12-29 65 views
0

嗨:)我有一個模板雙擴展系統的小問題。我有一個計劃:django雙「擴展」,登錄問題

base.html ---> index.html ---> something.html 

當我登錄到我已經喜歡了訪問所有無形的塊(匿名用戶不可見的塊)的網站:

{% if user.is_superuser %} 
    blabla 
{% endif %} 

所以「布拉布拉」 是對我來說可見的,因爲我是超級用戶,而且我已登錄。它在base.html,index.html中正常工作,但它在something.html中的不起作用。爲什麼??簡單看起來像用戶:'超級用戶'註銷。

+1

不應該有兩次延長任何問題。我認爲你需要向我們展示你的代碼以幫助我們。 – Alasdair 2009-12-29 13:30:16

回答

1

您是否將請求context傳遞給render_to_response(或HttpResponse)?
有關登錄用戶的信息必須存儲在上下文中(see documentation),您必須明確地執行此操作。 通用視圖會自動執行此操作,但如果您正在使用自己的視圖來處理something.html,並直接調用render_to_response,那麼您沒有關於該用戶的信息。

因此,在視圖中的代碼應該是這個樣子:

from django.shortcuts import render_to_response 
from django.template import RequestContext 

def my_personalized_view(request): 
    return render_to_response('something.html', 
          {}, 
          context_instance=RequestContext(request))