我正在使用 Django 标准身份验证。 / 登录在我的 /urls.py 中具有以下位置。
(r'^$', 'django.contrib.auth.views.login', {'template_name': 'home.html', }),
如果用户调用 www.myapp.com 并登录重定向到 settings.py 中定义的 LOGIN_REDIRECT_URL = '/pm/po/my/' (www.myapp.com/pm/po/my/),则登录工作正常。
如果用户关闭浏览器选项卡而保持浏览器打开,则会话不会被终止(= 用户未注销)。这也很好。
但是,如果用户随后打开一个新选项卡并转到 www.myapp.com,则登录视图将再次显示,同时用户已经登录。这里我希望用户已重定向到 www.myapp.com/pm/po /我的/ 。
我怎样才能实现这个目标?
我尝试添加以下行:
(r'^$', 'myapp.project_management.views.projects'),
(r'^$', 'django.contrib.auth.views.login', {'template_name': 'home.html', }),
但是这会导致以下错误消息:“此网页有重定向循环”
--解决方案--
urls.py:
(r'^$', 'myapp.project_management.views.my_projects'),
(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'home.html', }),
设置.py
LOGIN_URL = '/login'
实现您自己的登录 url 视图,如果您的用户登录(通常使用 request.method = 'POST')或该用户已经获得授权,则进行重定向。
AUTH_USER_MODEL = 'custom_user.CustomUser' 使用您的应用程序名称而不是 custom_user 并在您的设置 .py 中进行设置