こんにちは、私はジャンゴで真偽を持ついくつかの問題を持っているので、それは私がview.py「UserLoginForm」オブジェクトが属性を持っていない「cleanned_data」ジャンゴ
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout, get_user_model
from django.shortcuts import render
from django.views import generic
from FS import forms
from .forms import UserLoginForm, UserRegisterForm
def login_view(request):
form= UserLoginForm(request.POST or None)
title = "Connexion"
if form.is_valid():
username = form.cleanned_data.get("username")
password = form.cleanned_data.get("password")
user = authenticate(username=username, password=password)
login(request.user.is_authenticated())
return render(request,"forms.html",{"form":form, "title": title})
def register_view(request):
print(request.user.is_authenticated())
title= "Inscription"
print(request.user.is_authenticated())
form = UserRegisterForm(request.POST or None)
if form.is_valid():
user = form.save(commit=False)
password = form.cleanned_data.get('password')
user.set_password(password)
user.save()
login(request, user)
print(request.user.is_authenticated())
#redirect
context = {
"form":form,
"title":title
}
return render(request,"forms.html", context)
def logout_view(request):
logout(request)
return render(request, "forms.html")
に持っているものだと、それはforms.py
from django.contrib.auth.models import User
from django import forms
from django.contrib.auth import authenticate, login, logout, get_user_model
from django.forms import ModelForm
User = get_user_model()
class UserLoginForm(forms.Form):
username = forms.CharField()
password= forms.CharField(widget=forms.PasswordInput)
def clean(self, *args, **kwargs):
username = self.cleanned_data.get('username')
passworrd = self.cleanned_data.get('password')
if username and password:
user = authenticate(username=username, password=password)
if not user:
raise forms.ValidationError('This user does not exist')
if not user.check_password(password):
raise forms.ValidationError('Mot de passe incorrecte')
if not user.is_active:
raise forms.ValidationError('plus valide')
return super(UserLoginForm, forms).clean(*args, **kwargs)
class UserRegisterForm(forms.ModelForm):
class Meta:
model = User
fields = ['username', 'password']
にあります
このエラーは常に発生します。 "'UserLoginForm'オブジェクトには 'cleanned_data'属性がありません。
私は分かりません。前にform.is_valid()を作成する方法がわかりません。コードを変更して同じものにする方法がわかりません
ありがとう、私は非常にスマートではありません! – Anisotropie