的实现方式如下:
LOGIN_REDIRECT_URL = 'redirect_to_previous'
这将设置登录成功后的重定向URL为名为'redirect_to_previous'的视图函数。
from django.urls import path
from django.contrib.auth import views as auth_views
from .views import redirect_to_previous
urlpatterns = [
# 其他URL配置
path('accounts/login/', auth_views.LoginView.as_view(), name='login'),
path('accounts/redirect_to_previous/', redirect_to_previous, name='redirect_to_previous'),
# 其他URL配置
]
这里使用了Django内置的LoginView视图处理登录请求,并将登录URL设置为'accounts/login/'。同时,添加了名为'redirect_to_previous'的URL配置,指向一个自定义的视图函数。
from django.shortcuts import redirect
def redirect_to_previous(request):
return redirect(request.META.get('HTTP_REFERER', '/'))
'redirect_to_previous'视图函数会获取请求的来源URL(即上一页的URL),然后使用Django的redirect函数将用户重定向到该URL。如果无法获取来源URL,则默认重定向到根URL('/')。
完成以上步骤后,当用户成功登录后,将会被重定向到上一页。如果用户直接访问登录页面,登录成功后将会重定向到根URL。这样可以提供更好的用户体验,使用户在登录后返回到他们之前浏览的页面。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云数据库MySQL、腾讯云对象存储(COS)。
腾讯云产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云