Django: Как аутентифицировать форму в представлениях, основанных на классах
Я новичок в Django и у меня есть идея, что когда пользователь входит в комнату (изображение комнаты), модальное всплывающее окно попросит его ввести пароль этой конкретной комнаты (поскольку будут и другие комнаты), прежде чем он сможет попасть внутрь и увидеть ее содержимое, а пароль будет создан администратором на сайте администратора. Теперь моя проблема в том, что я создал поле пароля в модели комнаты, и я также создал форму для него, но у меня возникли трудности с тем, как включить его в мои представления... Я понятия не имею, как GET
пароль, созданный администратором и сопоставить его с тем, что пользователь POST
в качестве пароля. Кто-нибудь может мне помочь?
Моя модель комнаты
class Room(models.Model):
name = models.CharField(max_length=100, unique=True)
password = models.CharField(max_length=32, unique=True, null=True)
slug = models.SlugField(null=True, blank=True)
description = models.TextField(max_length=500,blank=True)
def __str__(self):
return self.name
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
super().save(*args, **kwargs)
Моя форма
class RoomForm(forms.ModelForm):
class Meta:
Model = Room
fields = ['password']
labels = {"password": "Room Password:"}
widgets = {
'password':forms.PasswordInput()
}
Мои взгляды
class RoomListView(FormView, ListView):
context_object_name = 'rooms'
model = Room
template_name = 'mysite/room_list_view.html'
form_class = RoomForm