我是 django 和 userena 的新手。我已经实现了 django userena 和运行良好的登录页面。目前,成功登录后,用户将被重定向到个人资料页面。我想改变这一点并做两件事:1.成功登录后将用户重定向到主页而不是个人资料页面,第二个2.主页和所有其他页面应该检测用户会话并使用特定用户的会话变量自定义页面。请让我知道我应该如何实现这一目标。
谢谢!
我是 django 和 userena 的新手。我已经实现了 django userena 和运行良好的登录页面。目前,成功登录后,用户将被重定向到个人资料页面。我想改变这一点并做两件事:1.成功登录后将用户重定向到主页而不是个人资料页面,第二个2.主页和所有其他页面应该检测用户会话并使用特定用户的会话变量自定义页面。请让我知道我应该如何实现这一目标。
谢谢!
要重定向使用:
USERENA_SIGNIN_REDIRECT_URL = 'your_url'
用户应该始终可用,您可以在视图中执行 self.request.user.is_authenticated() 或模板中的 {{ user.is_authenticated }} 之类的操作
这就是我如何检查用户是否已登录。
#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'),