2012-10-03 29 views
0

我想在主要的base.html中使用用戶數據,這是我的主要模板。如何在base.html中獲取用戶值?

我實際上使用登錄通用視圖。當我在主頁上登錄時,它向我提供用戶信息,但在所有其他頁面user中爲空白。

我已閱讀了很多關於此的內容:request,RequestContext,我已將django.contrib.auth.context_processors.auth添加到處理器列表中。

任何想法如何讓這個變量顯示到處?

回答

3

兩種方式:

如果你使用Django 1.4+,你可以使用,從您的視圖返回render()時:

def my_view(request): 
    ... 
return render(request, 'template.html', ctx) 

如果您正在使用舊的Django的或者你沒有像渲染的方法,你會回來的RequestContext使用render_to_response,像這樣:

def my_view(request): 
    ... 
return render_to_response('template.html', ctx, context_instance=RequestContext(request)) 

編輯:對不起,忘了實際回答問題。如果你渲染使用上述方法之一,你的模板有:

然後,您可以使用{{user}}和{{user.is_anonymous}}來找出發生了什麼。

+0

謝謝,但我不知道,這就是我在等待。我想我會使用會話來獲取信息,這將比用戶更簡單。 – billyJoe

+0

Ups,擴大了更完整的答案。 –

相關問題