Beibehalten der benutzerdefinierten Anmeldeklasse und Importieren von Allauth-Formularen in dieselbe forms.py-Datei, was zu Importfehlern führt

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)

Ich habe eine Struktur wie diese in meiner app.forms.py-Datei, in der ich allauth importiere, das in Formulare LoginForm ResetPasswordForm usw. eingebaut ist, und in der gleichen Datei definiere ich eine benutzerdefinierte Anmeldeklasse.

hook für benutzerdefinierte Anmeldeklasse: ACCOUNT_SIGNUP_FORM_CLASS = 'allauth_core.forms.MySignupForm'

Ich denke, ich bin mir nicht sicher warum, aber ich bin mir nicht sicher waru

File "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/allauth/urls.py", Zeile 8, in urlpatterns = [url ('^', include ('allauth.account. urls '))] File "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/django/conf/urlsdri .py ", Zeile 52, in include urlconf_module = import_module (urlconf_module) File" /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlibdri .py ", Zeile 37, in import_moduleimportiere (Name) Datei "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/allauth/account/urls.py", Zeile 4, in von. Ansichten importieren Datei "/Users/rmahamuni/.virtualenvs/todo/lib/python2.7/site-packages/allauth/account/views.py", Zeile 19, aus .forms import (Datei "/ Users / rmahamuni /. virtualenvs / todo / lib / python2.7 / site-packages / allauth / account / forms.py ", Zeile 206, in der Klasse BaseSignupForm (_base_signup_form_class ()): File" /Users/rmahamuni/.virtualenvs/todo/lib/python2 .7 / site-packages / allauth / account / forms.py ", Zeile 188, in _base_signup_form_class '"% s "'% (fc_module, e)) django.core.exceptions.ImproperlyConfigured: Fehler beim Importieren der Formularklasse allauth_core.forms: "Name ChangePasswordForm kann nicht importiert werden"

Wenn ich ein benutzerdefiniertes Anmeldeformular in einer separaten Datei behalte, erhalte ich dieses Problem nicht.

Ich habe versucht, die Aufstellung der installierten Apps zu wechseln

'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth_core',  <-- app where form is located. 

Was fehle ich hier? Kann mich bitte jemand führen? Vielen Dan

Antworten auf die Frage(2)

Ihre Antwort auf die Frage