2017-05-30 160 views
0

我使用django註冊與Django 1.11。繼docs 我把網址和工作正常。但記錄的用戶可以看到登錄頁面和註冊頁面(對我來說是非感覺的)。登錄用戶請參閱登錄和註冊頁面(django註冊)

我嘗試redirect_authenticated_user=True在URL中,適用於登錄頁面,不適用於loggout上的註冊和崩潰。

我的問題是:

  • 我需要得到所有的Django的註冊的網址,,並把「redirect_authenticated_user=True」我要的人?
  • 我必須創建視圖來查看用戶是否已經登錄並重定向它?
  • 或者只是檢查模板?

實驗值:我只使用網址和模板OD Django的註冊

+0

顯示你的努力,直到現在 –

+0

@ abi-waqas我創建了[拉請求](https://github.com/macropin/django-registration/pull/262/commits/8d75895892f2dcaf4b5ff4242ee01ad121502cf9) –

回答

1

如果您的註冊和登錄頁面是不同的途徑,對於註冊的路線,嘗試是這樣的:

def signup(request): 
    if request.user.is_authenticated(): 
     # redirect if user is already logged in 
     return HttpResponseRedirect(...) 
    else: 
     # do signup stuff 

如果表單在同一頁面上,或者註冊和未註冊用戶的內容位於同一頁面上,則可以在模板中使用與上面相同的if語句來選擇性地隱藏/顯示c ontent登錄的用戶:

{% if user.is_authenticated %} 
    <!-- HTML FOR SIGNED IN USER --> 
{% else %} 
    <!-- HTML FOR UNREGISTERED USER --> 
{% endif %} 

並確保用於需要您先登錄所有路線,你有@login_required裝飾上面的函數。