اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر
بتاريخ 13 ساعة قال Gaith Benali:

أنا الآن أعمل على موقع ويب لكن عندما بدأت في إنشاء واجهة تسجيل الدخول ظهر لي الخطأ التالي 

 

يوجد لديك العديد من الأخطاء في تابع login في views،

  1. في البداية أنت تقوم بتسمية الدالة login وضمن التابع تقوم باستخدام login كاسم للform لذلك يجب عليك تصحيح جميع المتحولات ضمن جسم التابع login إلى اسم اخر وليكن form
  2. يمكنك ارسال message error مع الكائن form دون الحاجة لوضعها في قاموس اخر
  3. الدالة login تأخذ متحول الاول request والثاني user الذي يحوي username ,password 
  4. بدلا من وضع login يجب وضع الدالة authenticate للتحقق من تسجيل المستخدم ثم استخدام login لتسجيل الدخول في حال كان يوجد حساب لهذا المستخدم

التصحيحات في الكود التالي

from django.shortcuts import render,redirect
from .forms import LoginForm
from django.contrib import auth

# Create your views here.

def login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = auth.authenticate(request, username=username,password=password)
            if user is not None :
                auth.login(request, user)
                # return redirect('home')
            else:
                error_message = 'معلومات الدخول خاطئة'
        else:
            error_message = 'معلومات الدخول خاطئة'
    else:
        form = LoginForm()
        error_message = None
    return render(request,'login.html',{'form':form, 'error_message':error_message})

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...