我在 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')
添加回答
举报
0/150
提交
取消