خنقتونا خنقتونا
random

آخر الأخبار

دليل شامل عن Flask: تطوير التطبيقات البسيطة والسريعة🤖

 

دليل شامل عن 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 Flask

    app = Flask(__name__)

    @app.route('/')
    def home():
        return "مرحبًا بك في Flask!"

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

    3-شغل التطبيق:

    python app.py
    افتح المتصفح وانتقل إلى http://127.0.0.1:5000/ لترى رسالتك الأولى.

    3. إنشاء مسارات (Routes) مخصصة

    مثال بسيط على المسارات:

    from flask import Flask

    app = 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:

    <!DOCTYPE html>
    <html lang="ar">
    <head>
        <meta charset="UTF-8">
        <title>الصفحة الرئيسية</title>
    </head>
    <body>
        <h1>مرحبًا بك في Flask</h1>
        <p>{{ message }}</p>
    </body>
    </html>
    2-عدل كود Flask لاستخدام القالب:
    from flask import Flask, render_template

    app = Flask(__name__)

    @app.route('/')
    def home():
        return render_template('index.html', message="هذه رسالة ديناميكية!")

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

    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_template

    app = 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, jsonify

    app = 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, session

    app = 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:

    1. قم بإنشاء ملف requirements.txt:

      flask
      gunicorn
    2. أنشئ ملف Procfile:

      web: gunicorn app:app
    3. قم برفع المشروع إلى Heroku باستخدام Git.


    الخاتمة

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

    عن الكاتب

    Mahmoud Salman

    التعليقات


    اتصل بنا

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

    تابع المدونة من هنا

    مواقيت الصلاة من هنا

    مشاركة مميزة

    Mastering Data Structures in Python: الإبداع والكفاءة في البرمجة المتقدمة🚀

      Mastering Data Structures in Python: الإبداع والكفاءة في البرمجة المتقدمة 🚀 الهياكل المتقدمة للبيانات في بايثون: دليل عملي للمطورين المحت...

    جميع الحقوق محفوظة

    خنقتونا

    2025