freeCodeCamp/guide/arabic/python/web-frameworks-and-what-the.../bottle/index.md

4.0 KiB

title localeTitle
Bottle زجاجة

يسمح إطار الزجاجة لنا بسرعة وسهولة الحصول على وتشغيل تطبيق ويب أساسي.

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

  1. استخدم pip لتثبيت حزمة الزجاجة.

    pip install bottle

  2. قم بإنشاء ملف html ليتم عرضه عند تحميل الموقع. على سبيل المثال index.html .

    لنقم بإضافة عنوان ونموذج أساسي لهذه الصفحة.

    `

    Say Hello

    Name:

    `
  3. قم بإنشاء ملف python جديد ، على سبيل المثال main.py

  4. في السطر الأول من الملف ، نحتاج إلى استيراد ، طلب ، وتشغيل الوظائف من وحدة الزجاجة.

    from bottle import get, request, run

  5. الآن نحدد وظيفتنا لخدمة ملف html الخاص بنا عندما يتم الوصول إلى صفحة الجذر.

    هنا نستخدم مصمم @get ، الذي يحدد هذه الوظيفة التي يجب أن تستجيب لطلبات HTTP GET وتمريرها في '/' باعتبارها المسار الذي سيتم استدعاء الدالة من خلاله.

    بعد ذلك ، نقوم بتعريف الدالة index() باستخدام الكلمة المفتاحية def .

    لقراءة ملف html الذي أنشأناه في الخطوة 2 وإرجاعه ، نستخدم ما يسمى مدير السياق. هذا يعالج فتح وإغلاق الملف لنا ، مما يسمح لنا بقراءة الملفات والمحتويات وإعادتها مع بيان return .

    @get('/') def index(): with open('./index.html') as f: return f.read()

  6. للحصول على موقع لتشغيل والاستماع لطلبات نحن بحاجة إلى إضافة استدعاء الأطر زجاجة run وظيفة على النحو التالي.

    هنا نمرر في المضيف الذي سيتم تشغيل تطبيق الويب عليه ، في هذه الحالة localhost ، والمنفذ الذي يجب الاستماع إليه لطلبات HTTP.

  7. قم بتشغيل التطبيق وقم بتحميله في المستعرض http: // localhost: 8080 / ، يجب أن تشاهد ملف html أنشأنا صانعة شعر في المتصفح.

    إذا أدخلنا اسمنا ثم اضغط على تقديم الآن ، HTTP 404 خطأ HTTP 404 رغم أننا لم نقم بعد بتعريف الوظيفة للرد على هذا الطلب.

    run(host='localhost', port=8080)

  8. main.py ملف main.py لدينا ، نحتاج الآن إلى تحديد الوظيفة للرد عندما نضع الشكل.

    مرة أخرى نستخدم الديكور @get هنا ، ولكن هذه المرة نمرر في '/.hello' . قد تلاحظ أن هذا هو نفس المسار الذي قمنا بتعريفه في سمة الإجراء الخاصة بنا في index.html .

    بعد ذلك ، نسترجع قيمة name من عنوان url ، عند إرسال النموذج ، يتم تشفير عنوان البيانات مثل http: // localhost: 8080 / hello؟ name = Jon + Snow

    وأخيرًا نعيد الترحيب ، بإلحاق الاسم الذي تم إدخاله في النموذج الخاص بنا.

    @get('/hello') def hello(): name = request.query['name'] return f'Hello {name}'

مصادر

https://bottlepy.org/docs/dev/