كيفية استخدام Flask في تطوير الويب؟ دليل شامل للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ما هو Flask ولماذا يختاره المطورون؟

Flask هو إطار عمل صغير (microframework) لتطوير الويب بلغة Python، وقد اكتسب شهرة واسعة بفضل بساطته ومرونته. أصبح تطوير الويب باستخدام Python مطلوبًا بشكل متزايد، ويلعب Flask دورًا محوريًا كأداة خفيفة لكنها قوية.

الميزة الرئيسية لـ Flask تكمن في بساطته وقابليته للتوسع. الإطار لا يفرض هيكلًا صارمًا، بل يسمح للمطورين باستخدام المكونات التي يحتاجونها فقط. هذا يجعل Flask خيارًا مثاليًا لإنشاء مواقع صغيرة وتطبيقات ويب معقدة على حد سواء.

مزايا Flask لتطوير الويب

يوفر Flask للمطورين العديد من المزايا:

  • سهولة التعلم وانخفاض حاجز الدخول للمبتدئين
  • مرونة في اختيار الحلول المعمارية والمكونات
  • مجتمع نشط ونظام بيئي غني بالإضافات
  • إمكانية إنشاء نماذج أولية وتطبيقات جاهزة للإنتاج
  • تحكم كامل في هيكل المشروع

من الإضافات الشائعة لـ Flask: Flask-WTF للتعامل مع النماذج، Flask-Login للمصادقة، Flask-Migrate لترحيل قواعد البيانات، وغيرها الكثير.

تثبيت Flask وإنشاء أول تطبيق

تثبيت Flask

للبدء مع Flask، قم بتثبيته عبر pip:

pip install Flask

إنشاء تطبيق أساسي

أبسط تطبيق Flask قد يبدو كالتالي:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "مرحبًا بالعالم!"

if __name__ == '__main__':
    app.run(debug=True)

هذا الكود ينشئ خادم ويب يستجيب لطلبات GET على المسار الجذري. المعامل debug=True يفعل وضع التصحيح، الذي يعيد تحميل التطبيق تلقائيًا عند تغيير الكود.

هيكل مشروع Flask

تنظيم هيكل المشروع بشكل صحيح أمر بالغ الأهمية لدعم وتطوير تطبيق الويب. المشروع المنظم جيدًا يسهل العمل الجماعي والاختبار والتوسع.

هيكل المجلدات الموصى به

my_flask_app/
├── app/
│   ├── __init__.py
│   ├── routes.py
│   ├── models.py
│   ├── forms.py
│   └── templates/
│       └── index.html
│   └── static/
├── config.py
└── run.py

وظائف الملفات والمجلدات

  • init.py — ملف تهيئة التطبيق، يحتوي على إنشاء نسخة Flask
  • routes.py — يحدد المسارات ومعالجات الطلبات
  • models.py — يحتوي على نماذج البيانات للتعامل مع قاعدة البيانات
  • forms.py — يصف النماذج باستخدام Flask-WTF
  • templates/ — يخزن قوالب HTML لعرض الصفحات
  • static/ — يحتوي على الملفات الثابتة (CSS, JavaScript, صور)
  • config.py — ملف إعدادات التطبيق مع الخيارات
  • run.py — نقطة الدخول لتشغيل التطبيق

تهيئة التطبيق

في ملف app/__init__.py، يتم عادةً إنشاء وتهيئة تطبيق Flask:

from flask import Flask
from config import Config

def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)
    
    from app.routes import bp
    app.register_blueprint(bp)
    
    return app

التعامل مع النماذج في Flask

معالجة إدخال المستخدم عبر النماذج هي إحدى المهام الأساسية في تطوير الويب. يوفر Flask عدة طرق للتعامل مع النماذج، لكن الأكثر ملاءمة وأمانًا هو استخدام إضافة Flask-WTF.

تثبيت Flask-WTF


                    

المدونات

توصيات الكتب