0Pricing
Flask Academy · บทเรียน

กำหนดคลาส 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กำหนดคลาส FlaskForm
  2. เรนเดอร์และส่งแบบฟอร์ม
  3. validate_on_submit และโทเคน CSRF
  4. ตัวตรวจสอบแบบกำหนดเองและข้อผิดพลาดของฟิลด์
← กลับไปที่ Flask Academy