我正在開發一個Django項目,我計劃製作用戶配置文件。我的目標是建立一個標準的登錄頁面,如here。登錄後,但是,我要重新定義在django中重新定義家庭
url(r'^$', 'MyApp.views.home', name='home'),
不顯示此頁,但具有相同的URL作爲家庭用戶的個人資料。
例如,www.example.com顯示登錄屏幕。登錄後,您將被重定向到www.example.com,但您現在可以看到您的個人資料。
我該如何在Django中做到這一點?
我正在開發一個Django項目,我計劃製作用戶配置文件。我的目標是建立一個標準的登錄頁面,如here。登錄後,但是,我要重新定義在django中重新定義家庭
url(r'^$', 'MyApp.views.home', name='home'),
不顯示此頁,但具有相同的URL作爲家庭用戶的個人資料。
例如,www.example.com顯示登錄屏幕。登錄後,您將被重定向到www.example.com,但您現在可以看到您的個人資料。
我該如何在Django中做到這一點?
這通常是我如何去做。如果需要,您可以添加上下文。
views.py:
from django.shortcuts import render
def home(request):
if request.user.is_authenticated():
return user_home(request)
else:
return login_home(request)
def user_home(request)
return render(request, 'path/to/user_template.html')
def login_home(request)
return render(request, 'path/to/login_template.html')
你需要簡單的檢查,鑑於:
if request.user.is_authenticated():
return HttpResponseRedirect('/profileurl/')
一個簡單的方法來做到這將是一個重定向到另一個觀點:
MyApp.views
def home(request):
if request.user.is_authenticated():
redirect
else:
home page
如果你想實際的URL條目加載與主頁或修改的主頁不同的模板,您可以輕鬆地呈現您想要的任何模板以響應url請求,而不是發出重定向
在你的'view'你會檢查是否在用戶登錄或不和分支相應。 – dursk