импортировать данные сеанса пользователя в другое django приложение - PullRequest
0 голосов
/ 13 июля 2020

У меня есть проект django с двумя приложениями, первое называется «основным», где пользователь может входить в систему и регистрироваться, и все элементы аутентификации выполняются, а другое - «приложение», доступ к которому имеют только аутентифицированные пользователи.

Main.views:

def register(request):
if request.method == "POST":
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = form.save()
        username = form.cleaned_data.get('username')
        messages.success(request, f"New account created: {username}")
        login(request, user)
        return redirect("app:app_index")

    else:
        for msg in form.error_messages:
            messages.error(request, f"{msg}: {form.error_messages[msg]}")

        return render(request = request,
                    template_name = "main/register.html",
                    context={"form":form})
        
form = UserCreationForm
return render(request = request,
              template_name = "main/register.html",
              context={"form":form})

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

Интересно, я мог бы просто сделать

app.views:

from main.views import user

но это определенно не работает, любое предложение будет очень признательно

1 Ответ

0 голосов
/ 13 июля 2020

На самом деле вы можете просто получить доступ к информации об использовании всех ваших приложений с помощью объектной нотации.

В моем случае объект пользователя имеет атрибут username, поэтому, когда я хочу использовать имя пользователя, я могу просто введите

user.username

И он вернет имя пользователя, сохраненное в базе данных для указанного c пользователя, который вошел в систему

...