Сохранение параметра GET с профилем пользователя в Django AllAuth - PullRequest
0 голосов
/ 24 сентября 2019

Пользователи приходят на мой сайт через реферала на example.com/accounts/signup/?ref=123.Я использую Django AllAuth для регистрации пользователей.

Я хотел бы сохранить реферальный код с их профилем.Похоже, у меня есть следующие варианты:

  1. Редактировать представление регистрации allauth напрямую, чтобы разрешить сохранение этого поля реферала
  2. Передать параметр? Ref = 123 на следующий просмотр после регистрациичтобы я мог сохранить его в профиле пользователя в этом представлении
  3. Создать переменную сеанса, которая запоминается в следующем представлении после регистрации, чтобы я мог сохранить его в профиле пользователя в этом представлении

Как сохранить параметр GET в моем профиле пользователя?Есть ли что-то, что я могу сделать для создания подкласса RegistrationView для сохранения данных (вариант 3)?

from allauth.account.views import SignupView 
class MySignupView(SignupView):
    ref = request.GET.get('ref')
    request.session['ref'] = ref

Или есть способ передать его в форму отправки?(вариант 2)

<form id="signup_form" method="post" action="{% url 'account_signup' %}?ref={{ request.GET.ref }}">

Похоже, что страница перенаправляется не так, как я понимаю, поэтому я не могу сохранить параметры получения.

...