--- title: Bottle localeTitle: زجاجة --- يسمح إطار الزجاجة لنا بسرعة وسهولة الحصول على وتشغيل تطبيق ويب أساسي. التفاصيل التالية هي كيفية كتابة وتشغيل تطبيق ويب ترحيبي بسيط حيث يمكننا إدخال اسمنا في نموذج ، ثم الضغط على "إرسال" واستعادة التحية. 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/