אימות מובנה
חלק מהיחידה טפסים במסלול ה-Django של Coddy. שיעור 9 מתוך 20.
אירוע זקוק לתיאור ולמספר מקומות. כל שדה בטופס בודק סוג משלו של ערך, והארגומנטים שלו מוסיפים כללים. כבר פגשת שניים: כל שדה הוא חובה, ו-max_length=100 דוחה כותרת ארוכה יותר.
min_valueב-IntegerField: דוחה מספר קטן יותר.required=Falseבכל שדה: אפשר להשאיר אותו ריק.
וידג'ט קובע כיצד שדה מוצג: widget=forms.Textarea יוצר תיבת טקסט גדולה. טופס להזמנת משחק לוח:
class TableForm(forms.Form):
players = forms.IntegerField(min_value=2)
wishes = forms.CharField(widget=forms.Textarea, max_length=500)
phone = forms.CharField(required=False)שדה טקסט אופציונלי ריק נותן "" בתוך cleaned_data; שדה מספר אופציונלי ריק נותן None. הלולאה בתבנית שלך מציגה שדות חדשים ללא שינוי.
אתגר
קללאירועים יש תיאור ומספר מקומות.
- ב־
events/forms.py, הוסף אתdescriptionאלEventForm: טקסט בתיבה גדולה, שאפשר להשאיר ריקה. הוסף אתcapacity: מספר שלם הגדול או שווה ל־1. - ב־
new_event, שמור את שניהם באירוע.
הוסף אירוע עם קיבולת של 25 וללא תיאור: בדף שלו מוצגים 25 מקומות.
נסו בעצמכם
from django import forms
class EventForm(forms.Form):
title = forms.CharField(max_length=100)
date = forms.DateField()
place = forms.CharField(max_length=100)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה טפסים
2טפסי Django
טופס Djangoיצירת טופסתרגלו בעצמכם: Django אונליין