【发布时间】:2023-01-20 01:47:18
【问题描述】:
我在重定向时遇到了一些问题。
当我已经登录并尝试转到“/accounts/login”时,它仍然会转到此链接,如果我更改 url.py 路径(例如“accounts/logins”),则重定向有效,但如果未通过身份验证它对我说:
UnboundLocalError:赋值前引用的局部变量“上下文”
并且“/accounts/login”仍然可用
视图.py
def loginPage(request):
if request.user.is_authenticated:
return redirect("index")
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('index')
else:
messages.info(request, 'Username OR password is incorrect')
context = {}
return render(request, 'registration/login.html', context)
网址.py
urlpatterns = [
path('login/', views.loginPage, name='loginPage'),
path('logout/', views.logoutUser, name='logoutUser'),
path('register/', views.registerPage, name='registerPage'),
]
【问题讨论】:
标签: django authentication redirect django-rest-framework django-templates