טופס 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.
לחצו על Run ושלחו את הטופס ללא תאריך.
נסו בעצמכם
from django import forms
כל השיעורים ביחידה טפסים
2טפסי Django
טופס Djangoיצירת טופסתרגלו בעצמכם: Django אונליין