我正在开发一个Django项目,我计划在该项目中创建用户配置文件。我的目标是建立一个标准的登录页面here。登录后,我想重新定义
url(r'^$', 'MyApp.views.home', name='home'),
不显示此页面,而是显示与家庭网址相同的用户个人资料。
例如,www.example.com显示登录屏幕。记录后,您已重定向到www.example.com,但现在可以看到您的个人资料。
如何在Django中执行此操作?
答案 0 :(得分:1)
您需要进行简单的检查:
if request.user.is_authenticated():
return HttpResponseRedirect('/profileurl/')
答案 1 :(得分:1)
一种简单的方法是重定向到另一个视图:
MyApp.views
def home(request):
if request.user.is_authenticated():
redirect
else:
home page
如果您希望实际的url条目加载与主页或修改后的主页不同的模板,您可以轻松地呈现您想要的任何模板以响应url请求而不是发出重定向
答案 2 :(得分:0)
这通常是我如何去做的。您可以根据需要添加上下文。
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')