Как зашифровать id в урлах при входе в систему?
У меня есть два представления для входа в систему. Появляется окно входа. Я ввожу логин и затем оно переводит меня во второе представление, где я могу видеть id пользователя в урлах. И я не знаю, как его скрыть. Это видно в этих урлах 'log_pass/int:pk/'
== views.py ==
def LoNew(request):
if request.method == 'POST':
username = request.POST['username']
usr = User.objects.filter(username=username).first()
if usr != None:
pk = usr.pk
return redirect(reverse('login_pass', args=[pk]))
else:
messages.error(request, 'Some message')
return redirect(reverse('login'))
else:
form = AuthenticationForm()
return render(request, 'login.html', {'form': form})
def PaView(request, pk):
usr_model = get_object_or_404(User, id=pk)
if request.method == 'POST':
password = request.POST['password']
user = authenticate(username=usr_model.username, password=password)
if user:
if user.is_active:
login(request, user)
return redirect(reverse('start_pages'))
else:
messages.error(request, 'Some message')
return redirect(reverse('login'))
else:
form = AuthenticationForm()
return render(request, 'pass.html', {'form': form})
== urls.py ==
path('login', views.LoNew, name='login'),
path('log_pass/<int:pk>/', views.PaView, name='log_pass'),