2017-03-15 3 views
0

je fais l'utilisateur de personnalisation. donc je dois me connecter avec email. utilisateur = authentifier (email = email, mot de passe = mot de passe) ne semble pas fonctionner ... aidez-moi ... laissez-moi savoir comment réparer mon views.py.django personnalisation de l'affichage de l'utilisateur?

Voici ma vue.

from django.contrib.auth.decorators import login_required 
from django.contrib.auth import authenticate, login, logout 
from django.core.urlresolvers import reverse 
from django.shortcuts import render 
from LanguageExchange.forms import UserCreationForm,UserChangeForm 
def index(request): 
    context_dict = {'boldmessage': "Crunchy, creamy, cookie, candy, cupcake!"} 
    return render(request, 'LanguageExchange/index.html', context=context_dict) 

def register(request): 
    # A boolean value for telling the template 
    # whether the registration was successful. 
    # Set to False initially. Code changes value to 
    # True when registration succeeds. 
    registered = False 

    if request.method == 'POST': 
    user_form = UserCreationForm(data=request.POST) 
    # change_form = UserChangeForm(data=request.POST) 

    # if the two forms are valid.. 
    if user_form.is_valid(): 

     user = user_form.save() 


     user.set_password(user.password) 
     user.save() 

    #if change_form.is_valid():  
    # change = change_form.save() 
    # change.set_password(user.password) 
    # change.user = user 
     registered = True 

    else: 

     print(user_form.errors) 

else: 

    user_form = UserCreationForm() 
    # change_form = UserChangeForm() 

return render(request, 
      'LanguageExchange/register.html', 
      {'user_form': UserCreationForm, 
      'registered': registered}) 

def user_login(request): 
    if request.method == 'POST': 
    username = request.POST.get('email') 
    password = request.POST.get('password') 
    user = authenticate(email=email, password=password) 

    if user: 
     if user.is_active: 

      login(request, user) 
      return HttpResponseRedirect(reverse('index')) 
     else: 

      return HttpResponse("Your Rango account is disabled.") 
    else: 

     print("Invalid login details: {0}, {1}".format(email, password)) 
     return HttpResponse("Invalid login details supplied.") 

else: 

    return render(request, 'LanguageExchange/login.html', {}) 

laissez-moi savoir comment réparer mon views.py.

Répondre

1

supprimer

user.set_password(user.password) 

dans le registre;

changement

user = authenticate(email=email, password=password) 

à

user = authenticate(username=email, password=password) 

dans user_login.

+0

oh merci pour votre aide. – DHC

+0

laissez-moi savoir quels étaient mes problèmes? ? – DHC

+0

regardez le code source de UserCreationForm vous saurez.Pouvez-vous vous connecter maintenant? – Ykh