Пользовательская форма социальной регистрации Django-allauth

каждый. Я начинаю работать с django. Когда я искал систему аутентификации, я нашел пакет django-allauth. Это здорово, но у меня есть проблема, когда я пытаюсь настроить форму социальной регистрации, и я хочу, чтобы пользователь ввел свой пароль во время регистрации пользователя, и они должны заполнять каждый раз, когда они регистрируются. В качестве документа я пишу пользовательскую форму.

class SocialSignupForm(forms.Form):

password1 = forms.CharField(max_length=30, label="Password")
password2 = forms.CharField(max_length=30, label="Password(again)")

def clean_password1(self):
    if ("password1" in self.cleaned_data and "password2" in self.cleaned_data):
        if self.cleaned_data['password1'] != self.cleaned_data['password2']:
            raise forms.ValidationError(_("You must type the same password"
                                          " each time."))
    return self.cleaned_data["password1"]

def signup(self, request, user):
    user.set_password(self.cleaned_data["password1"])
    user.save()

и в файле настроек я поставил

ACCOUNT_AUTHENTICATION_METHOD = "email"
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = True
ACCOUNT_EMAIL_REQUIRED = True
SOCIALACCOUNT_AUTO_SIGNUP = True
SOCIALACCOUNT_QUERY_EMAIL = True
SOCIALACCOUNT_PROVIDERS = {
    'facebook': {
        'SCOPE': ['email', 'publish_stream'],
        'METHOD': 'oauth2'
    }
}
ACCOUNT_ADAPTER = 'myapp.adapter.MyAccountAdapter'
SOCIALACCOUNT_ADAPTER = 'myapp.adapter.MySocialAccountAdapter'
ACCOUNT_SIGNUP_FORM_CLASS = 'myapp.forms.SignupForm'
SOCIALACCOUNT_FORMS =  {'signup': 'myapp.forms.SocialSignupForm'}

но когда я пытаюсь подключиться к социальному провайдеру, я получаю:

init() получил неожиданный ключевой аргумент 'sociallogin'

кто может подсказать как это исправить


person Lang Thang    schedule 07.10.2014    source источник
comment
пожалуйста, добавьте трассировку, где вы получаете ошибку.   -  person Dhiraj Thakur    schedule 08.10.2014
comment
Это трассировка, не могли бы вы мне помочь :( evernote.com/shard/s201/sh/90dcd99e-9469-4f7d-ab5c-f5fa78363f86/   -  person Lang Thang    schedule 09.10.2014


Ответы (1)


Я только что ответил на аналогичный вопрос здесь: https://stackoverflow.com/a/28515254/1016544, чтобы вы могли взять взгляд. Я использую те же настройки, что и вы, за исключением того, что я не реализую свой собственный адаптер. Другое существенное отличие состоит в том, что я переопределяю функцию clean_password2() вместо clean_password1(), потому что в моем случае она не работала.

Если это поможет, не забудьте принять это как ответ :)

person Wahib Ul Haq    schedule 14.02.2015