2017-09-30 1 views
1

Voici mon forms.py,Django Vérifiez si le nom existe déjà

class RegistrationForm(UserCreationForm): 

    class Meta: 
    model = User 
    fields = [ 'username', 'first_name', 'password1', 'password2'] 

    def save(self, commit=True): 
     user = super(RegistrationForm, self).save(commit=False) 
     user.first_name = self.cleaned_data['first_name'] 
     if commit: 
      user.save() 
     return user 

En views.py,

def register(request): 
if request.method == 'POST': 
    form = RegistrationForm(request.POST) 
    if form.is_valid(): 
     form.save() 
     username = request.POST.get('username') 
     password = request.POST.get('password1') 
     user = authenticate(username=username, password=password) 
     login(request, user) 
     return redirect(reverse('accounts:profile')) 
else: 
    form = RegistrationForm() 
    return render(request, 'accounts/reg_form.html', {'form': form}) 

En ce moment, si je suis en utilisant le même nom d'utilisateur, il y a une erreur qui collecte dit "La vue accounts.views.register n'a pas renvoyé d'objet HttpResponse. Elle a renvoyé None à la place." Comment puis-je résoudre ce problème?

Merci :) Vous

+1

Le formulaire fait déjà pour vous. –

+0

@DanielRoseman Monsieur, Comment puis-je corriger cette erreur "La vue accounts.views.register n'a pas retourné un objet HttpResponse. –

+1

Désactiver la dernière ligne d'un niveau. –

Répondre

0

forme Django par défaut fait pour vous.

Vous n'avez pas besoin de spécifique pour cela. Beacuse, default User Le modèle fourni par django ne prend pas le nom d'utilisateur en double.

Peut être un problème de retrait

def register(request): 
    if request.method == 'POST': 
      form = RegistrationForm(request.POST) 
      if form.is_valid(): 
       form.save() 
       . . . . 
    else: 
     form = RegistrationForm() 
    return render(request, 'accounts/reg_form.html', {'form': form}) 
    #^^^^^Indentation here take return statement outside else 
+0

Monsieur, comment puis-je corriger cette erreur "La vue accounts.views.register n'a pas retourné un objet HttpResponse. –

+0

postez votre 'views.py' complet. –

+0

Monsieur, vient de poster dans la question –