为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Django 中使用 login_required 装饰器时禁用下一个 URL 参数?

如何在 Django 中使用 login_required 装饰器时禁用下一个 URL 参数?

慕尼黑的夜晚无繁华 2023-06-20 13:34:01
我在 Django 中有以下项目文件夹结构:.|_blog/|_django_blog/|_users/|_manage.py我在 django_blog/urls.py 中有以下内容:from django.contrib import adminfrom django.contrib.auth import views as auth_viewsfrom django.urls import path, includefrom users import views as user_viewsurlpatterns = [    path('admin/', admin.site.urls),    path('',include('blog.urls')),    path('profile/',user_views.profile,name='profile'),    path('register/',user_views.register,name='register'),    path('login/',auth_views.LoginView.as_view(template_name='users/login.html'),name='login'),    path('logout/',auth_views.LogoutView.as_view(template_name='users/logout.html'),name='logout'),]我在 users/views.py 中有以下装饰视图:from django.contrib.auth.decorators import login_required@login_requireddef profile(request):    return render(request,'users/profile.html')以及 django_blog/settings.py 中的以下常量:LOGIN_REDIRECT_URL = 'blog-home'LOGIN_URL = 'login'现在,如果用户未登录并尝试访问/profile/URL,他将被重定向到登录页面,并将next=/profile/参数传递给 URL。用户登录后,它将用户重定向到/profile/. 但我希望用户被重定向到主页,而不是从/login/URL 登录的默认行为。我应该如何实现该功能?
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

将redirect_field_name参数设置为None:



@login_required(redirect_field_name=None)

def profile(request):

    return render(request,'users/profile.html')


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信