2013-01-10 130 views
0

我是django和userena的新手。我已經實現了django userena和正常工作的登錄頁面。目前成功登錄後,用戶被重定向到配置文件頁面。我想改變這一點,並做兩件事: 1.成功登錄後,將用戶重定向到主頁,而不是簡介頁面和第二個 2.主頁和所有其他頁面應檢測用戶會話,並使用會話變量特定用戶自定義頁面。 請讓我知道我應該如何實現這一點。如何重定向登錄頁面並檢查Django userena中的登錄會話

謝謝!

+0

Userena有一堆的設置,您可以添加到settings.py。 USERENA_SIGNIN_REDIRECT_URL ='' – Charl

+0

嗨Charl謝謝!這隻能幫助我設置正確的重定向。但是,我如何確保會話從這個重定向頁面繼續到另一個,等等。 – Mayank

+0

用戶應始終可用,並且您可以在視圖中執行self.request.user.is_authenticated()或模板中的{{user.is_authenticated}}。 – Charl

回答

2

重定向使用:

USERENA_SIGNIN_REDIRECT_URL = 'your_url' 

用戶應始終可用,你可以做這樣的事情self.request.user.is_authenticated()視圖或{{user.is_authenticated}}在模板

0

這是我怎麼做檢查,如果用戶在簽名。

#views.py 
from userena.views import signup, signin 

def sign_up(request): 
    #if user is authenticated, redirect to user's profile page 
    #otherwise use userena signup view, with my own form,SignupFormExtra, instead of userena's 

    if request.user.is_authenticated(): 
     username = request.user.username 
     return HttpResponseRedirect('/accounts/'+username) 
    else: 
     return signup(request,signup_form=SignupFormExtra) 

def sign_in(request): 
    if request.user.is_authenticated(): 
     username = request.user.username 
     return HttpResponseRedirect('/accounts/'+username) 
    else: 
     return signin(request) 

,在我的urls.py我有

url(r'^accounts/signup/$', 'accounts.views.sign_up'), 
url(r'^accounts/signin/$', 'accounts.views.sign_in'), 
相關問題