栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django-登录并重定向到用户个人资料页面

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django-登录并重定向到用户个人资料页面

这是不可能的使用动态参数(如登录的用户的主键)在

LOGIN_REDIRECT_URL
你的
settings.py

在Django 1.11+中,您可以继承

LoginView
和重写,
get_success_url
以便它动态重定向。

from django.contrib.auth.views import LoginViewclass MyLoginView():    def get_success_url(self):        url = self.get_redirect_url()        return url or reverse('account_landing', kwargs={'pk': self.request.user.pk, 'name': self.request.user.username})

注意,该

url =self.get_redirect_url()
行是使用querystring处理重定向回上一页所必需的,例如
?next=/foo/bar

然后在URL配置中使用您的自定义登录视图。

url(r'^login/$', MyLoginView.as_view(), name='login'),

对于早期版本的Django,无法以相同的方式自定义基于函数的登录视图。

一种解决方法是创建一个重定向到您的登录页面的视图:

from django.contrib.auth.decorators import login_requiredfrom django.shortcuts import redirect@login_requireddef account_redirect(request):    return redirect('account-landing', pk=request.user.pk, name=request.user.username)

为此视图创建一个URL模式:

urlpatterns = [    url(r'^account/$', account_redirect, name='account-redirect'),]

然后将该视图用作

LOGIN_REDIRECT_URL

LOGIN_REDIRECT_URL = 'account-redirect'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号