نموذج في Django
جزء من قسم النماذج في رحلة Django على Coddy. الدرس 5 من 20.
أرسل النموذج من دون تاريخ، وسيتعطل الموقع: لا يستطيع Django تحويل النص الفارغ إلى تاريخ. سيتطلب فحص كل حقل يدويًا كتابة تعليمات برمجية لكل حقل ولكل خطأ.
يصف نموذج Django الحقول مرة واحدة في forms.py، ويعرف كل حقل ما يقبله. نموذج حجز في مطعم:
from django import forms
class BookingForm(forms.Form):
name = forms.CharField(max_length=50)
day = forms.DateField()
guests = forms.IntegerField()كل حقل مطلوب ما لم تحدد خلاف ذلك، كما أن CharField يزيل المسافات أولًا، لذا يُعد الاسم المكوّن من مسافات فقط فارغًا.
في العرض، أنشئ النموذج من البيانات التي وصلت واستدعِ is_valid(): فهو يفحص كل حقل ويعيد True أو False. بعد ذلك، يحتوي form.cleaned_data على القيم المحوّلة إلى Python، لذا فإن cleaned_data["day"] هو datetime.date وليس نصًا:
form = BookingForm(request.POST)
if form.is_valid():
day = form.cleaned_data["day"]التحدي
سهل- في
events/forms.py، اكتبEventForm: اجعلtitleوplaceنصين لا يتجاوز طول كل منهما 100 حرف، وdateتاريخًا. - في
new_event، تحقّق من POST باستخدامه. إذا كان صالحًا، أنشئ الحدث من القيم المحوّلة ثم أعد التوجيه. وإذا لم يكن صالحًا، فاعرض الصفحة مع تعيينerrorإلىPlease check the form.
اضغط على تشغيل وأرسل النموذج من دون تاريخ.
جرّب بنفسك
from django import forms
جميع دروس النماذج
2نماذج Django
نموذج في Djangoعرض نموذجتدرّب بنفسك: Playground لـ Django