Как я могу сделать уникальные пользовательские "сессии" для моего веб-приложения Django, работающего на heroku? - PullRequest
0 голосов
/ 11 июня 2019

Я создал веб-приложение, использующее Django, которое хранит информацию в массивах Python, к которым пользователь обращается через интерфейс.Моя проблема сейчас в том, что, поскольку я развернул его через heroku, вы не можете использовать веб-сайт более чем на одном устройстве, иначе параметры, выбранные на одном устройстве, влияют на данные веб-сайта для всех устройств.

Как бы ябыть в состоянии сделать так, чтобы пользовательский опыт был другим / не связанным?Как я могу изменить views.py (или другие компоненты), чтобы у веб-приложения была «сессия» для каждого пользователя?

Это для веб-приложения django, работающего на heroku.Приложение для моей школы, и оно похоже на сайт боевого королевского типа.Пользователи могут выбирать людей, отображаемых на сайте, что, в свою очередь, удаляет их из словаря Python, который хранится в памяти, и помещает их в другой словарь для дальнейшего использования.Проблема заключается в том, что если несколько человек одновременно используют сайт, они получают доступ к одному и тому же словарю.Я понятия не имею, что попытаться решить эту проблему.

"processor.py"

names, accepted = list(), list()
# names contains many names of people, accepted is empty

def accept_person(person):
    if person in names:
        accepted.append(person)
        names.remove(person)

    else:
        a = difflib.get_close_matches(person, names)
        if len(a) > 1:
            accepted.append(a[0])
            names.remove(a[0])
        else:
            pass

"views.py"

def view_home(request):
    if request.method == 'POST':
        if(request.POST.get("yes")):
            processor.accept_person(request.POST.get("yes", False))

Принятие человекана одном устройстве принимает этого человека для всех, кто заходит на сайт.Я хочу, чтобы у каждого пользователя была одна «сессия», чтобы один человек, изменяющий этот словарь Python, не влиял на опыт каждого.

1 Ответ

0 голосов
/ 12 июня 2019

То, что вы ищете здесь, это способ аутентификации пользователей, Django великолепен в этом и обрабатывает в основном все это для вас.

Но если вам действительно нужно полное решение с минимальными усилиями, я бы взглянул на пакет под названием django-allauth.

Официальные документы (https://django -allauth.readthedocs.io / en / latest / installation.html ) могут быть немного устрашающими, поэтому вот хороший учебник, которому я следовал в первый разЯ интегрировал аутентификацию в Django.

https://wsvincent.com/django-allauth-tutorial/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...