0Pricing
Flask Academy · درس

تعريف فئة 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-WTF

Subclass 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):
    pass

Add 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف فئة FlaskForm
  2. تصيير نموذج وإرساله
  3. validate_on_submit ورموز CSRF
  4. قواعد التحقق المخصصة وأخطاء الحقول
← العودة إلى Flask Academy