![]() |
دليل شامل عن Flask: تطوير التطبيقات البسيطة والسريعة |
دليل شامل عن Flask: تطوير التطبيقات البسيطة والسريعة
Flask هو إطار عمل صغير (micro-framework) بلغة Python، يركز على السهولة والبساطة في تطوير تطبيقات الويب. يُستخدم Flask بشكل كبير في المشاريع الصغيرة والمتوسطة بسبب مرونته وسهولة تخصيصه. في هذا المقال، سنأخذك في جولة شاملة حول Flask، مع أمثلة عملية تُوضح كيفية الاستفادة القصوى منه.
1. ما هو Flask؟
تعريف بسيط:
Flask هو إطار عمل خفيف الوزن يُستخدم لتطوير تطبيقات ويب باستخدام Python. يتميز بأنه لا يفرض طريقة معينة لبناء تطبيقك، مما يجعله خيارًا مرنًا وسهلًا للمطورين.
أبرز مميزاته:
خفيف الوزن وسهل الاستخدام.
لا يحتوي على مكونات مُدمجة مثل ORM أو إدارة الجلسات، مما يمنحك حرية اختيار الأدوات التي تحتاجها.
دعم قوي للمسارات (Routing) والقوالب (Templates).
مجتمع كبير ودعم واسع النطاق.
مرونة في التعامل مع مكتبات إضافية.
2. تثبيت Flask وبدء مشروعك الأول
خطوات التثبيت:
1-قم بتثبيت Flask باستخدام pip:
pip install flask
2-أنشئ ملف Python جديد (مثلاً app.py
) وابدأ كتابة الكود الخاص بتطبيقك:
from flask import Flaskapp = Flask(__name__)@app.route('/')def home():return "مرحبًا بك في Flask!"if __name__ == '__main__':app.run(debug=True)
3-شغل التطبيق:
افتح المتصفح وانتقل إلى http://127.0.0.1:5000/
لترى رسالتك الأولى.
3. إنشاء مسارات (Routes) مخصصة
مثال بسيط على المسارات:
from flask import Flaskapp = Flask(__name__)@app.route('/')def home():return "هذه هي الصفحة الرئيسية."@app.route('/about')def about():return "مرحبًا بك في صفحة من نحن."if __name__ == '__main__':app.run(debug=True)
شرح الكود:
@app.route('/')
: تحدد المسار الخاص بالصفحة.return
: تُعيد المحتوى النصي الذي يتم عرضه على المتصفح.يمكنك إضافة مسارات أخرى بنفس الطريقة.
4. استخدام قوالب HTML مع Flask
لماذا نستخدم القوالب؟
القوالب تتيح لك فصل منطق التطبيق عن تصميمه، مما يجعل الكود أكثر تنظيمًا وقابلية للصيانة.
إنشاء قالب بسيط:
1-أنشئ مجلدًا باسم templates
وضع داخله ملفًا باسم index.html
:
2-عدل كود Flask لاستخدام القالب:<!DOCTYPE html><html lang="ar"><head><meta charset="UTF-8"><title>الصفحة الرئيسية</title></head><body><h1>مرحبًا بك في Flask</h1><p>{{ message }}</p></body></html>
5. التعامل مع النماذج (Forms) في Flask
مثال عملي:
1-قم بإنشاء نموذج HTML:
<!-- ملف templates/form.html --><form action ="/submit" method="post"><label for="name">الاسم:</label><input type="text" id="name" name="name"><button type="submit">إرسال</button></form>
2-عدل كود Flask للتعامل مع البيانات:
from flask import Flask, request, render_templateapp = Flask(__name__)@app.route('/form')def form():return render_template('form.html')@app.route('/submit', methods=['POST'])def submit():name = request.form['name']return f"مرحبًا {name}!"if __name__ == '__main__':app.run(debug=True)
شرح الكود:
request.form
: تُستخدم للوصول إلى البيانات المُرسلة من النموذج.المسار
/submit
يستقبل طلب POST ويُعيد استجابة بناءً على البيانات.
6. التعامل مع JSON في Flask
مثال عملي:
from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/api', methods=['POST'])def api():data = request.get_json()name = data.get('name')return jsonify({"message": f"مرحبًا {name}!"})if __name__ == '__main__':app.run(debug=True)
شرح الكود:
request.get_json()
: تُستخدم لاستقبال بيانات JSON من الطلب.jsonify
: تُستخدم لإرجاع البيانات بصيغة JSON.
7. إضافة ملفات ثابتة (Static Files)
كيفية إضافة ملفات CSS و JavaScript:
1-أنشئ مجلدًا باسم static
وضع داخله ملف CSS:
/* ملف static/style.css */body {font-family: Arial, sans-serif;background-color: #f9f9f9;}
2-قم بربط الملف داخل قالب HTML:
<link rel="stylesheet" href="/static/style.css">
8. إدارة الجلسات (Sessions)
مثال عملي:
from flask import Flask, sessionapp = Flask(__name__)app.secret_key = "سر_سري"@app.route('/login')def login():session['user'] = "اسم المستخدم"return "تم تسجيل الدخول!"@app.route('/logout')def logout():session.pop('user', None)return "تم تسجيل الخروج!"if __name__ == '__main__':app.run(debug=True)
9. نشر تطبيق Flask
خطوات النشر باستخدام Heroku:
قم بإنشاء ملف
requirements.txt
:flask gunicorn
أنشئ ملف
Procfile
:web: gunicorn app:app
قم برفع المشروع إلى Heroku باستخدام Git.
الخاتمة
Flask هو إطار عمل مثالي لتطوير تطبيقات الويب البسيطة والمتوسطة. بفضل مرونته وسهولة استخدامه، يمكنك إنشاء تطبيقات مخصصة بالكامل. مع الأمثلة السابقة، يمكنك البدء في استخدام Flask بثقة والتوسع في تطبيقاتك حسب احتياجاتك.