J'utilise Django-registration avec Django 1.8.15 pour enregistrer les utilisateurs. Mon urls.py
ressemble à ceci:Django-enregistrement comment vérifier si l'utilisateur existe
from registration.backends.hmac.views import RegistrationView
url(r'^registration/register/$', RegistrationView.as_view(form_class=MyCustomSubscriberForm), name="registration_register"),
C'est essentiellement un CBV où je donne la forme et le modèle. Voici la forme:
class MyCustomSubscriberForm(RegistrationForm):
class Meta:
model = MyCustomSubscriber
fields = ('firstname', 'surname', 'email',)
Mon problème est de savoir comment gérer la validation dans ce CBV?
Actuellement, si par ex. quelqu'un essaie de s'enregistrer avec une adresse e-mail déjà utilisée Django donne un IntegrityError at /registration/register/
...
Quelle est la meilleure façon d'utiliser Validators from Django-registrations? Par exemple - comment est-ce que je m'assure que si un utilisateur avec un certain email existe déjà les utilisateurs sont notifiés dans le modèle?
Comment étendre ce CBV ou gérer cette erreur dans mon code avec les validateurs déjà fournis par Django-Registration?
vous devez gérer le mode d'édition;) '' 'qs = User.objects.filter (email = données) si self.instance.id: qs = qs.exclude (id = id)' '' – Mounir
Vous avez absolument raison, j'ai édité ma réponse. Mais puisqu'il a un formulaire d'inscription, il ne l'utilisera peut-être pas pour l'édition. – ihhcarus
Merci pour votre suggestion, c'est certainement possible! Certes, il s'agit d'une réponse valide, mais il est également possible d'utiliser la fonctionnalité intégrée Django-Registration qui fait exactement cela - comme cela est décrit dans ma réponse. – user1544500