ما هو 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
المدونات
توصيات الكتب
اقرأ أيضًا