Django формы для ввода нескольких паролей
Я пытаюсь клонировать linkr.ee только для обучения
Страница выглядит следующим образом:

Каждый пользователь имеет свою страницу -На этой странице один пользователь может иметь несколько ссылок
Ссылка может иметь поле пароля, чтобы разблокировать ссылку, если пользователь установил пароль на True/False
Я создал модель здесь:
class Field(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
default=None,
null=True,
on_delete=models.CASCADE,
)
title = models.CharField(max_length=255)
url = models.CharField(max_length=255)
creator_adress = models.GenericIPAddressField(null=True)
password_secured = models.BooleanField(default=False)
password = models.CharField(max_length=100, blank=True, null=True)
Так, если установлен флажок password_secured (True/False), ссылка будет иметь поле для ввода пароля.
Моя проблема: У меня проблемы с предоставлением каждой ссылке одной страницы, которая защищена паролем формы.
Если одна ссылка имеет password_secured True (и пароль) -> Форма необходима для каждой ссылки, которая имеет пароль -> если пароль правильный (форма действительна) -> password_secured False -> ссылка разблокирована
Шаблон:
#here just a for loop to display every object of the specific user into the html template
<a {% if i.password_secured == False %} href="{{i.url}}{% endif %}"></a>
#for loop end
Простое значение шаблона:
If password secured False -> put the href in the Link(Button)
If password secured True -> Password form must be correct -> set secured secured_password False -> back to 1.
Важные виды Файл:
def LinkView(request, username):
User = get_user_model()
custom = User.objects.get(username=username)
if request.method == 'POST':
locked_form = LockedFieldForm(request.POST)
if locked_form.is_valid():
return redirect('')
else:
locked_form = LockedFieldForm()
return render(request, 'linkview.html', {'custom': custom, 'locked_form': locked_form})
Что мне нужно:
-что нужно написать после: ..form.is_valid() -и даже получить текущий id ссылки, для которой мне нужна форма пароля
Интересно то, что я не могу сохранить/изменить boolean в базе данных (тогда password_secured будет для всех False), но для посетителя, который пытается разблокировать ссылку с паролем. Может ли это работать с save(commit=False), так что это основано на сессии? Но тогда мне также придется изменить шаблон, потому что шаблон проверяет статус в базе данных, а не в сессии
Edit: Вот как выглядит LockedFieldForm
class LockedFieldForm(forms.Form):
password = forms.CharField(max_length=100)