تعريف فئة FlaskForm
صرّح بالحقول وقواعد التحقق في Python.
تعريف فئة FlaskForm درس مجاني في Flask Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Flask Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Flask Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Why Flask-WTF
Handling raw form data by hand gets messy fast. Flask-WTF lets you declare a form once as a Python class and reuse it everywhere. 🎯
Install the Extension
Flask-WTF wraps the WTForms library and adds CSRF protection. Install it with pip before you write a single field.
pip install Flask-WTFSubclass FlaskForm
Every form you build is a class that inherits from FlaskForm. That base class gives you CSRF and validation for free.
from flask_wtf import FlaskForm
class LoginForm(FlaskForm):
passAdd Your First Field
Fields are class attributes set to field objects. A StringField renders as a text input and stores whatever the user types.
from wtforms import StringField
class LoginForm(FlaskForm):
username = StringField('Username')Common Field Types
WTForms ships many field types. Reach for PasswordField, BooleanField, or SelectField so each input matches the data you expect.
from wtforms import PasswordField, BooleanField
password = PasswordField('Password')
remember = BooleanField('Remember me')Give Fields a Label
The first argument to a field is its label. That text is what your template shows next to the input, so make it human-friendly.
email = StringField('Email address')Attach Validators
Pass a validators list to enforce rules. DataRequired refuses an empty submission before your view ever runs.
from wtforms.validators import DataRequired
username = StringField('Username', validators=[DataRequired()])Stack Multiple Rules
Validators run in order, so you can stack them. Require a value, then check its length, all in one field.
from wtforms.validators import DataRequired, Length
name = StringField('Name', validators=[DataRequired(), Length(min=2, max=40)])Add a Submit Button
A SubmitField becomes the form button. Including it in the class keeps the whole form definition in one tidy place.
from wtforms import SubmitField
submit = SubmitField('Log in')A Complete Form Class
Put the pieces together and you have a reusable, self-validating form class ready to instantiate in any view.
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
submit = SubmitField('Log in')Instantiate in a View
Inside a view you simply create an instance. The form object then carries the fields, data, and errors for that request.
@app.route('/login')
def login():
form = LoginForm()
return render_template('login.html', form=form)Quick Check
Which base class should your Flask-WTF forms inherit from?
Recap
You defined a form as a class: subclass FlaskForm, add typed fields with labels and validators, and finish with a submit button. Reusable and clean. ✨
الأسئلة الشائعة
هل درس «تعريف فئة FlaskForm» مجاني؟
نعم — نص درس «تعريف فئة FlaskForm» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Flask Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Flask Academy 4 دروس في المجموع.
ماذا ستتعلم في «تعريف فئة FlaskForm»؟
صرّح بالحقول وقواعد التحقق في Python. تتمرن على Flask Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Flask Academy؟
لا تُشترط خبرة سابقة. Flask Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «تعريف فئة FlaskForm»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Flask Academy هذا؟
نعم. كل درس في Flask Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف فئة FlaskForm
- تصيير نموذج وإرساله
- validate_on_submit ورموز CSRF
- قواعد التحقق المخصصة وأخطاء الحقول