Mantendo a classe sign_up personalizada e importando formulários alluth no mesmo arquivo forms.py, causando erros de importação
from django import forms
from allauth.account.forms import (LoginForm, ChangePasswordForm,
ResetPasswordForm, SetPasswordForm, ResetPasswordKeyForm)
from django.contrib.auth import get_user_model
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Div, Submit, HTML, Button, Row, Field
from crispy_forms.bootstrap import AppendedText, PrependedText, FormActions
from django.core.urlresolvers import reverse
class MySignupForm(forms.Form):
class Meta:
model = get_user_model()
fields = ['email', 'first_name', 'last_name']
def __init__(self, *args, **kwargs):
super(MySignupForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.fields["email"].widget.input_type = "email" # ugly hack
self.helper.form_method = "POST"
self.helper.form_action = "account_signup"
self.helper.form_id = "signup_form"
self.helper.form_class = "signup"
self.helper.layout = Layout(
Field('email', placeholder="Enter Email", autofocus=""),
Field('first_name', placeholder="Enter First Name"),
Field('last_name', placeholder="Enter Last Name"),
Field('password1', placeholder="Enter Password"),
Field('password2', placeholder="Re-enter Password"),
Submit('sign_up', 'Sign up', css_class="btn-warning"),
)
def signup(self, request, user):
pass
class MyLoginForm(LoginForm):
remember_me = forms.BooleanField(required=False, initial=False)
def __init__(self, *args, **kwargs):
super(MyLoginForm, self).__init__(*args, **kwargs)
class MyPasswordChangeForm(ChangePasswordForm):
def __init__(self, *args, **kwargs):
super(MyPasswordChangeForm, self).__init__(*args, **kwargs)
Eu tenho uma estrutura como essa no meu arquivo app.forms.py, onde estou importando tudo, construído em formulários LoginForm ResetPasswordForm etc. e no mesmo arquivo, estou definindo a classe de inscrição personalizada.
gancho para a classe de inscrição personalizada: ACCOUNT_SIGNUP_FORM_CLASS = 'allauth_core.forms.MySignupForm'
Acho que estou atingindo um problema de importação circular, mas não sei por que?
Arquivo "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/allauth/urls.py", linha 8, em urlpatterns = [url ('^', include ('allauth.account.urls '))] Arquivo "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/django/conf/urls/iniciar.py ", linha 52, no arquivo include urlconf_module = import_module (urlconf_module)" /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/iniciar.py ", linha 37, no import_moduleimportar(nome) Arquivo "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/allauth/account/urls.py", linha 4, de. import views File "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/allauth/account/views.py", linha 19, na importação de .forms (File "/ Users / rmahamuni /. virtualenvs / todo / lib / python2.7 / pacotes-site / allauth / account / forms.py ", linha 206, na classe BaseSignupForm (_base_signup_form_class ()): arquivo" /Users/rmahamuni/.virtualenvs/todo/lib/python2 .7 / site-packages / allauth / account / forms.py ", linha 188, na _base_signup_form_class '"% s "'% (fc_module, e)) django.core.exceptions.ImproperlyConfigured: Erro ao importar a classe de formulário allauth_core.forms: "não pode importar o nome ChangePasswordForm"
Se eu mantiver o formulário de inscrição personalizado em arquivo separado, não receberei esse problema.
Tentei mudar a programação de aplicativos instalados
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth_core', <-- app where form is located.
O que estou perdendo aqui ? alguém pode me guiar? obrigado