กำหนด forms.Form
ประกาศฟิลด์และวิดเจ็ตของฟิลด์
กำหนด forms.Form เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่มีฟอร์ม
ฟอร์ม Django เปลี่ยนข้อมูลที่ผู้ใช้ป้อนอย่างยุ่งเหยิงให้เป็นข้อมูล Python ที่สะอาด พร้อมจัดการการแสดงผลและการตรวจสอบความถูกต้องในที่เดียวอย่างเป็นระเบียบ 📝
สืบทอดจาก forms.Form
คุณประกาศฟอร์มด้วยการสืบทอดจาก forms.Form แอตทริบิวต์ของคลาสแต่ละรายการที่เพิ่มจะกลายเป็นฟิลด์ในฟอร์มนั้น
from django import forms
class ContactForm(forms.Form):
name = forms.CharField()ฟิลด์คือแอตทริบิวต์ของคลาส
ทุกฟิลด์คือ แอตทริบิวต์ของคลาส ที่กำหนดให้เป็นอินสแตนซ์ของฟิลด์ เช่น CharField หรือ EmailField ชื่อแอตทริบิวต์จะกลายเป็นชื่ออินพุต
name = forms.CharField()
email = forms.EmailField()CharField สำหรับข้อความ
ใช้ CharField สำหรับข้อความสั้น กำหนด max_length เพื่อจำกัดขนาด และระบบจะแสดงอินพุต HTML ที่เหมาะสมโดยอัตโนมัติ
subject = forms.CharField(max_length=120)EmailField ตรวจสอบรูปแบบ
EmailField ตรวจสอบว่าค่าดูเหมือนที่อยู่อีเมลจริง คุณจึงไม่ต้องเขียนการตรวจสอบนี้เอง
email = forms.EmailField()จำเป็นโดยค่าเริ่มต้น
ทุกฟิลด์จะ จำเป็นต้องกรอก เว้นแต่คุณจะระบุเป็นอย่างอื่น ส่ง required=False เพื่อทำให้ฟิลด์เป็นตัวเลือกสำหรับผู้ใช้
phone = forms.CharField(required=False)label และ help_text
เพิ่ม ป้ายกำกับที่เป็นมิตรและ help_text เพื่อให้ผู้ใช้เข้าใจแต่ละฟิลด์ Django จะแสดงสิ่งเหล่านี้ถัดจากอินพุต
name = forms.CharField(label="Your name",
help_text="First and last")เลือกวิดเจ็ต
วิดเจ็ตควบคุม HTML ที่แสดงผลสำหรับฟิลด์ เปลี่ยนค่าที่กำหนดไว้เพื่อให้ได้พื้นที่ข้อความ ช่องรหัสผ่าน หรือรายการเลือก
message = forms.CharField(
widget=forms.Textarea)ชนิดฟิลด์เพิ่มเติม
Django มีฟิลด์ให้ใช้มากมาย: IntegerField, BooleanField, DateField และ ChoiceField ต่างจับคู่กับอินพุตที่เหมาะสมและแปลงค่าให้คุณ
age = forms.IntegerField()
agree = forms.BooleanField()ChoiceField และตัวเลือก
ChoiceField จะแสดงรายการแบบเลื่อนลงจากรายการคู่ค่ากับป้ายกำกับที่คุณระบุใน choices
plan = forms.ChoiceField(choices=[
("free", "Free"), ("pro", "Pro")])สร้างอินสแตนซ์ของฟอร์ม
สร้าง ฟอร์มที่ยังไม่ผูกข้อมูล โดยไม่ส่งข้อมูลเพื่อแสดงฟอร์มเปล่า หรือส่งข้อมูลเพื่อผูกฟอร์มและตรวจสอบความถูกต้อง
form = ContactForm() # blank
form = ContactForm(request.POST)ตรวจสอบอย่างรวดเร็ว
มาดูกันว่าฟอร์มถูกกำหนดอย่างไร
สรุปทบทวน
คุณสืบทอดจาก forms.Form และเพิ่มฟิลด์เป็นแอตทริบิวต์ของคลาส เลือกชนิดฟิลด์และวิดเจ็ตที่เหมาะสม แล้ว Django จะจัดการส่วนที่เหลือให้ ✅
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “กำหนด forms.Form” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กำหนด forms.Form” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กำหนด forms.Form”
ประกาศฟิลด์และวิดเจ็ตของฟิลด์ คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “กำหนด forms.Form” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม
ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ