我是django的新手并且使用了len。我已经实现了django userena和正常工作的登录页面。目前,成功登录后,用户将被重定向到个人资料页面。我想改变这个并做两件事: 1.成功登录后将用户重定向到主页,而不是配置文件页面和秒 2.主页和所有其他页面应检测用户会话并使用特定用户的会话变量来自定义页面。 请让我知道如何实现这一目标。
谢谢!
答案 0 :(得分:2)
重定向使用:
USERENA_SIGNIN_REDIRECT_URL = 'your_url'
用户应始终可用,您可以在视图中执行self.request.user.is_authenticated()或在模板中执行{{user.is_authenticated}}
答案 1 :(得分: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'),