Django - Получение разрешения на контакт от пользователей - PullRequest
0 голосов
/ 09 октября 2018

В моих регистрационных формах я спрашиваю пользователей, могу ли я связаться с ними по электронной почте или SMS.

Я использую Django-Allauth, и, похоже, он не указан в качестве опции.Я делю представление на подклассы и пытаюсь проникнуть туда:

class ListenSignupView(SignupView):
    template_name = 'listen_signup.html'

    def form_valid(self, form):
        form.allows_contact = self.request.POST.get('allows_contact')
        return super(ListenSignupView, self).form_valid(form)

Однако, на самом деле это не сохраняет результат для пользователя.Мне также нужно разделить формы на подклассы?Какой самый простой способ сделать это?

1 Ответ

0 голосов
/ 09 октября 2018

Как оказалось, переопределить формы довольно просто:

from allauth.account.forms import SignupForm


class CustomSignupForm(SignupForm):

    def save(self, request):
        user = super(CustomSignupForm, self).save(request)
        user_input = request.POST.get('allows_contact')
        user.allows_contact = True if user_input == "on" else False
        user.save()
        return user

Это можно сделать для любой из форм Аллаута. Вот соответствующие документы , для справки.

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