想法是如果我已经登入了,然后在输入login的页面时回重定向到相应用户的user下。
我目前的做法是:
if request.user.is_authenticated:
return HttpResponseRedirect("/account/user/[相应用户名]")
urls.py
url(r'^login',login_views, name='login'),
url(r'^logout$',logout_views, name='logout'),
url(r'^register', register, name='register'),
url(r'^user/([\w]+)$',Management, name='user'),
不知道有没有比较好的内置函数或者其他的方式来解决呢?谢谢~!
views.py
def login_views(request):
if request.user.is_authenticated:
return HttpResponseRedirect("/account/user/das")# redirect test
else:
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user_status =authenticate(username=username, password=password)
if user_status:
login(request, user_status)
return JsonResponse({'status':'success','message':'登入成功'})
else:
if User.objects.filter(username=username):
return JsonResponse({'status':'error', 'message':'密码错误'})
else:
return JsonResponse({'status':'error','message':'用户不存在'})
return render(request, "sign_in.html")
不知道你的login_views怎么写的?官方的实现方式是通过
next
字段指定,比如这样:这是Django中的
login
函数的声明:其中
REDIRECT_FIELD_NAME
为常量,其值为next
。