Je souhaite implémenter une fonctionnalité d'invitation dans laquelle l'utilisateur saisira l'adresse e-mail et son adresse e-mail sera enregistrée dans la base de données. S'ils remplissent de nouveau l'adresse e-mail et la demande d'invitation, ils doivent être redirigés vers un autre formulaire (ReferForm) afin qu'ils puissent en référer à un autre.rediriger vers un autre formulaire si l'e-mail existe
Voici mon code
class InviteForm(forms.Form):
email = forms.EmailField(label=_("E-mail"), required=True)
def save(self, email):
print('email', email)
print ('############')
if (Invitation.objects.get(email=email)):
return True
invitation = Invitation.objects.create(email=email)
return invitation
class RequestInvitation(FormView):
template_name = 'home.html'
form_class = InviteForm
def form_valid(self, form):
email = form.cleaned_data.get('email')
invite_instance = form.save(email)
if invite_instance == True:
return HttpResponseRedirect('/refer-form')
invite_instance.invited_by_email_address = self.request.user
invite_instance.custom_invite_code = get_custom_invite_code()
invite_instance.save()
messages.success(self.request, '{0} has been invited'.format(email))
return HttpResponseRedirect('/')
def form_invalid(self, form):
# messages.error(self.request, '{0}'.format(form.errors))
return self.render_to_response(self.get_context_data(form=form))
Je reçois une erreur dans la forme où je fonction d'économie pour l'existence ai interrogé email. Cependant, j'obtiens une erreur
La requête de requête d'invitation n'existe pas.
Je l'ai déjà fait mais je suis toujours créé faux. Est-ce parce que je n'utilise pas modelForm – pythonBeginner
vous êtes créé faux quand le courrier électronique existe déjà dans db. – user3148949