Zeina Almakdisi نشر 2 نوفمبر 2022 أرسل تقرير نشر 2 نوفمبر 2022 مرحبا لدي خطأ في فورم تسجيل مستخدم جديد يظهر بعد تعبئة البيانات forms,py class UserCreationForms(UserCreationForm): username= forms.CharField(max_length=50) first_name= forms.CharField(max_length=50) last_name= forms.CharField(max_length=50) email= forms.EmailField(max_length=50) password= forms.CharField(widget=forms.PasswordInput(),min_length=8) conf_password=forms.CharField(widget=forms.PasswordInput(),min_length=8) class Meta: model = User fields = ('username','first_name','last_name','email', 'password','conf_password') //views.py def signup(request): if request.method == 'POST': form = UserCreationForms(request.POST) if form.is_valid(): form.save() username = form.cleaned_date.get('username') password = form.cleaned_date.get('password') user = authenticate(username=username , password=password) login(request,user) return redirect('accounts:INDEX') else: form = UserCreationForms() return render(request, 'user/signup.html',{ 'form':form }) <div class="container"> <div class="signup"> <div class="col-md-9" > <form method="POST" enctype="multipart/form-data"> <h4 class="auth-header">أنشاء حساب جديد</h4> {% csrf_token%} <div class="form-group"> {{form.username}} </div> <div class="form-group"> {{form.first_name}} </div> <div class="row"> <div class="col-sm-6"> <div class="form-group"> {{form.last_name}} </div> </div> <div class="col-sm-6"> <div class="form-group"> {{form.email}} </div> </div> <div class="col-sm-6"> <div class="form-group"> {{form.password}} </div> </div> <div class="col-sm-6"> <div class="form-group"> {{form.conf_password}} </div> </div> <div class="buttons-w"><button type="submit" class="btn btn-success">التسجيل</button></div> </form> </div> </div> </div> </div> 1 اقتباس
0 Kais Hasan نشر 2 نوفمبر 2022 أرسل تقرير نشر 2 نوفمبر 2022 if form.is_valid(): form.save() username = form.cleaned_date.get('username') password = form.cleaned_date.get('password') user = authenticate(username=username , password=password) login(request,user) هنا في السطر الأخير، في حال لم يتنفذ ما بداخل ال if فهذا سيؤدي لخطأ حيث أن ال user غير معرف، أعتقد أنها يجب أن تكون بداخل ال if. 2 اقتباس
0 Ahmed Sadek Elamine Touahria نشر 2 نوفمبر 2022 أرسل تقرير نشر 2 نوفمبر 2022 @Zeina Makdisiالخطأ معناه أنه لم يتم التعرف على المتغير user مما يعني أن الشرط لم يتحقق ، وهذا كما أشار أخي @Kais Hasanفي الإجابة السابقة أن العبارة login(request,user) يجب أن تكون داخل الشرط if form.is_valid 2 اقتباس
السؤال
Zeina Almakdisi
مرحبا لدي خطأ في فورم تسجيل مستخدم جديد يظهر بعد تعبئة البيانات
forms,py
class UserCreationForms(UserCreationForm): username= forms.CharField(max_length=50) first_name= forms.CharField(max_length=50) last_name= forms.CharField(max_length=50) email= forms.EmailField(max_length=50) password= forms.CharField(widget=forms.PasswordInput(),min_length=8) conf_password=forms.CharField(widget=forms.PasswordInput(),min_length=8) class Meta: model = User fields = ('username','first_name','last_name','email', 'password','conf_password')
//views.py def signup(request): if request.method == 'POST': form = UserCreationForms(request.POST) if form.is_valid(): form.save() username = form.cleaned_date.get('username') password = form.cleaned_date.get('password') user = authenticate(username=username , password=password) login(request,user) return redirect('accounts:INDEX') else: form = UserCreationForms() return render(request, 'user/signup.html',{ 'form':form })
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.