注销重定向 url 找不到视图
Logout redirect url can't find a view
所以,这是我的文件:
settings.py
LOGOUT_REDIRECT_URL = 'refresh'
views.py
def about(request):
return render(request, 'about.html', {})
def refresh(request):
return HttpResponseRedirect(request.META.get("HTTP_REFERER"))
问题: 如果我设置LOGOUT_REDIRECT_URL = 'about'
,它工作正常。此外,如果我将代码从 refresh 视图添加到 about 视图,它也可以正常工作。但是,当我设置 LOGOUT_REDIRECT_URL = 'refresh'
时,我会得到错误 'View name was wrong'。我不明白为什么会出现此错误。
P.S.如果有其他退出后刷新页面的方法,欢迎告诉我。
您必须传递您在 urls.py
文件中提供的名称。您在 LOGOUT_REDIRECT_URL = 'refresh'
中传递了 refresh
,但名称与 urls.py
不匹配
因此,要么更改 urls.py
文件中的名称,要么更改 setting.py
文件中的名称。
settings.py
LOGOUT_REDIRECT_URL = 'refresh'
你需要在settings/urls.py文件中添加:-
settings/urls.py
from django.contrib.auth import views as auth_views
path('logout/', auth_views.LogoutView.as_view(template_name='your_template_name.html'), name='logout'),
所以,这是我的文件:
settings.py
LOGOUT_REDIRECT_URL = 'refresh'
views.py
def about(request):
return render(request, 'about.html', {})
def refresh(request):
return HttpResponseRedirect(request.META.get("HTTP_REFERER"))
问题: 如果我设置LOGOUT_REDIRECT_URL = 'about'
,它工作正常。此外,如果我将代码从 refresh 视图添加到 about 视图,它也可以正常工作。但是,当我设置 LOGOUT_REDIRECT_URL = 'refresh'
时,我会得到错误 'View name was wrong'。我不明白为什么会出现此错误。
P.S.如果有其他退出后刷新页面的方法,欢迎告诉我。
您必须传递您在 urls.py
文件中提供的名称。您在 LOGOUT_REDIRECT_URL = 'refresh'
中传递了 refresh
,但名称与 urls.py
因此,要么更改 urls.py
文件中的名称,要么更改 setting.py
文件中的名称。
settings.py
LOGOUT_REDIRECT_URL = 'refresh'
你需要在settings/urls.py文件中添加:-
settings/urls.py
from django.contrib.auth import views as auth_views
path('logout/', auth_views.LogoutView.as_view(template_name='your_template_name.html'), name='logout'),