Пользователи приходят на мой сайт через реферала на example.com/accounts/signup/?ref=123
.Я использую Django AllAuth для регистрации пользователей.
Я хотел бы сохранить реферальный код с их профилем.Похоже, у меня есть следующие варианты:
- Редактировать представление регистрации allauth напрямую, чтобы разрешить сохранение этого поля реферала
- Передать параметр? Ref = 123 на следующий просмотр после регистрациичтобы я мог сохранить его в профиле пользователя в этом представлении
- Создать переменную сеанса, которая запоминается в следующем представлении после регистрации, чтобы я мог сохранить его в профиле пользователя в этом представлении
Как сохранить параметр 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 }}">
Похоже, что страница перенаправляется не так, как я понимаю, поэтому я не могу сохранить параметры получения.