hinzufügen Ich möchte den Benutzer Anmeldeformular in Django/Mezzanin anpassen nur bestimmte E-Mail-Adressen zu ermöglichen, so habe ich versucht, Affen-Patch wie folgt:Validierung Django Benutzer Form
# Monkey-patch Mezzanine's user email address check to allow only
# email addresses at @example.com.
from django.forms import ValidationError
from django.utils.translation import ugettext
from mezzanine.accounts.forms import ProfileForm
from copy import deepcopy
original_clean_email = deepcopy(ProfileForm.clean_email)
def clean_email(self):
email = self.cleaned_data.get("email")
if not email.endswith('@example.com'):
raise ValidationError(
ugettext("Please enter a valid example.com email address"))
return original_clean_email(self)
ProfileForm.clean_email = clean_email
Diese Code wird an der Spitze eines meiner models.py
hinzugefügt.
Allerdings, wenn ich Runserver erhalte ich die
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
gefürchtete Wenn ich
import django
django.setup()
fügen Sie dann python manage.py runserver
hängt nur, bis ich ^C
.
Was soll ich tun, um diese Funktionalität hinzuzufügen?
Aus Interesse, warum haben Sie gedacht, dass das Hinzufügen von 'django.setup()' eine mögliche Lösung war? Es ist dafür gedacht, wenn du Django in Standalone-Skripten verwendest, solltest du es niemals in deinem 'models.py' verwenden. – Alasdair
Das weiß ich jetzt! Ich habe es in Standalone-Skripten verwendet, um die benötigten Modelle einzurichten, und habe nicht erkannt, dass es in einem tatsächlichen Django-Projekt nicht funktionieren würde. – xnx