Я работаю над проектом социальной сети и хочу создать функцию, которая даст мне возможность приглашать пользователей в сообщества с URL-адресом приглашения (UUID). Кто может объяснить, как это сделать, я попытался сделать это с помощью контекстных процессоров , но это не работает
models.py
class Room(models.Model):
title = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, null=True, blank=True)
description = models.TextField(max_length=500)
students = models.ManyToManyField(User,related_name='room_students',blank=True)
created = models.DateTimeField(default=timezone.now)
subjects = models.ManyToManyField(Subject,related_name='room_subjects',blank=True)
stream_time = models.TimeField()
max_students_amount = models.PositiveIntegerField()
room_type = models.CharField(max_length=10,choices=TYPES)
invite_url = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
is_active = models.BooleanField(default=True)
views.py
@login_required
def submit_invite(request,room):
invite_url = request.get.GET['key']
room = get_object_or_404(Room,slug=room)
user = request.user
if room.invite_url != invite_url:
return HttpResponseNotFound
room.students.add(user)
return room.get_absolute_url()
@login_required
def join_room(request,room):
room = get_object_or_404(Room,slug=room)
user = request.user
room.students.add(user)
return HttpResponse(room.students.count())
urls.py
path('rooms/<room>/invite?key=<invite_url>/',submit_invite,name='sumbit_invite'),