Как создать сеанс, который запомнит пользователя в функции? - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть проект, где пользователи могут получить доступ к комнатам с паролем, как создать сеанс, который запомнит этого пользователя после первого прохода, а также я хочу установить дату истечения для этого сеанса. Возможно, вы знаете другой способ реализации этого

views.py
try:
    room_type = getattr(Room.objects.get(invite_url=uuid), 'room_type')
except ValueError:
    raise Http404
if room_type == 'private':
    if request.method == 'POST':
        user = request.user.username    
        form_auth = AuthRoomForm(request.POST)
        if form_auth.is_valid():
            try:
                room_pass = getattr(Room.objects.get(invite_url=uuid), 'room_pass')
            except ValueError: 
                raise Http404
            password2 = form_auth.cleaned_data.get('password2')
            if room_pass != password2:
                messages.error(request, 'Doesn\'t match')
                return HttpResponseRedirect(request.get_full_path())
            else:
                # messages.success(request, 'match')
                user = CustomUser.objects.get(username=user)
                try:
                    room = get_object_or_404(Room, invite_url=uuid)
                except ValueError:
                    raise Http404

                assign_perm('pass_perm',user, room)
                if user.has_perm('pass_perm', room):
                    # return HttpResponseRedirect(Room.get_absolute_url(room))
                    return join_room(request,uuid)
                else:
                    return HttpResponse('Problem issues')
    else:
        form_auth = AuthRoomForm()
    return render(request,'rooms/auth_join.html', {'form_auth':form_auth})
else:
    return HttpResponse('this work on private room only')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...