กำหนดคลาส FlaskForm
ประกาศฟิลด์และตัวตรวจสอบใน Python
กำหนดคลาส FlaskForm เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ใช้ Flask-WTF
การจัดการข้อมูลจากแบบฟอร์มดิบด้วยตนเองจะยุ่งยากอย่างรวดเร็ว Flask-WTF ช่วยให้คุณประกาศแบบฟอร์มครั้งเดียวเป็นคลาสภาษาไพธอน แล้วนำกลับมาใช้ได้ทุกที่ 🎯
ติดตั้งส่วนขยาย
Flask-WTF ครอบไลบรารี WTForms และเพิ่มการป้องกัน CSRF ให้ติดตั้งด้วย พิป ก่อนเขียนฟิลด์แม้แต่ฟิลด์เดียว
pip install Flask-WTFสืบทอดจาก FlaskForm
แบบฟอร์มทุกแบบที่คุณสร้างคือคลาสที่สืบทอดจาก FlaskForm คลาสพื้นฐานนี้มอบ CSRF และการตรวจสอบความถูกต้องให้โดยอัตโนมัติ
from flask_wtf import FlaskForm
class LoginForm(FlaskForm):
passเพิ่มฟิลด์แรกของคุณ
ฟิลด์คือแอตทริบิวต์ของคลาสที่กำหนดให้เป็นอ็อบเจ็กต์ฟิลด์ StringField จะแสดงเป็นช่องกรอกข้อความและเก็บสิ่งที่ผู้ใช้พิมพ์
from wtforms import StringField
class LoginForm(FlaskForm):
username = StringField('Username')ชนิดฟิลด์ที่ใช้บ่อย
WTForms มีชนิดฟิลด์ให้เลือกมากมาย ใช้ PasswordField, BooleanField หรือ SelectField เพื่อให้แต่ละช่องรับข้อมูลตรงกับชนิดข้อมูลที่คาดไว้
from wtforms import PasswordField, BooleanField
password = PasswordField('Password')
remember = BooleanField('Remember me')กำหนดป้ายกำกับให้ฟิลด์
อาร์กิวเมนต์ตัวแรกของฟิลด์คือ ป้ายกำกับ ข้อความนี้คือสิ่งที่แม่แบบแสดงถัดจากช่องกรอก จึงควรเขียนให้อ่านเข้าใจง่ายสำหรับผู้ใช้
email = StringField('Email address')แนบตัวตรวจสอบ
ส่งรายการ ตัวตรวจสอบ เพื่อบังคับใช้กฎ DataRequired จะปฏิเสธการส่งข้อมูลที่ว่างเปล่าก่อนที่มุมมองของคุณจะเริ่มทำงาน
from wtforms.validators import DataRequired
username = StringField('Username', validators=[DataRequired()])ซ้อนกฎหลายข้อ
ตัวตรวจสอบจะทำงานตามลำดับ คุณจึงสามารถ ซ้อน หลายตัวได้ เช่น กำหนดให้ต้องมีค่า แล้วตรวจสอบความยาว ทั้งหมดในฟิลด์เดียว
from wtforms.validators import DataRequired, Length
name = StringField('Name', validators=[DataRequired(), Length(min=2, max=40)])เพิ่มปุ่มส่ง
SubmitField จะกลายเป็นปุ่มของแบบฟอร์ม การใส่ปุ่มนี้ไว้ในคลาสทำให้คำจำกัดความของแบบฟอร์มทั้งหมดอยู่รวมกันอย่างเป็นระเบียบ
from wtforms import SubmitField
submit = SubmitField('Log in')คลาสแบบฟอร์มที่สมบูรณ์
เมื่อประกอบทุกส่วนเข้าด้วยกัน คุณจะได้ คลาสแบบฟอร์ม ที่นำกลับมาใช้ได้และตรวจสอบความถูกต้องได้ด้วยตนเอง พร้อมสร้างอินสแตนซ์ในมุมมองใดก็ได้
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
submit = SubmitField('Log in')สร้างอินสแตนซ์ในมุมมอง
ภายในมุมมอง คุณเพียงสร้างอินสแตนซ์ขึ้นมา จากนั้น อ็อบเจ็กต์แบบฟอร์ม จะเก็บฟิลด์ ข้อมูล และข้อผิดพลาดของคำขอนั้นไว้
@app.route('/login')
def login():
form = LoginForm()
return render_template('login.html', form=form)ตรวจสอบอย่างรวดเร็ว
แบบฟอร์ม Flask-WTF ของคุณควรสืบทอดจากคลาสพื้นฐานใด
สรุปทบทวน
คุณกำหนดแบบฟอร์มเป็นคลาส โดยสืบทอดจาก FlaskForm เพิ่มฟิลด์ตามชนิดพร้อมป้ายกำกับและตัวตรวจสอบ แล้วปิดท้ายด้วยปุ่มส่ง นำกลับมาใช้ได้และเป็นระเบียบ ✨
คำถามที่พบบ่อย
บทเรียน “กำหนดคลาส FlaskForm” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กำหนดคลาส FlaskForm” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กำหนดคลาส FlaskForm”
ประกาศฟิลด์และตัวตรวจสอบใน Python คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “กำหนดคลาส FlaskForm” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม
ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กำหนดคลาส FlaskForm
- เรนเดอร์และส่งแบบฟอร์ม
- validate_on_submit และโทเคน CSRF
- ตัวตรวจสอบแบบกำหนดเองและข้อผิดพลาดของฟิลด์