وzope.paste هو مجموعة التي تسمح لك ل
- middlewares توظيف WSGI داخل تطبيق Zope 3
- نشر خادم تطبيق Zope 3 على أي خادم-WSGI قادر
باستخدام PasteDeploy. وهذان طرائق العمل مختلفة تماما والتي لا تملك إلا من القواسم المشتركة أنهم تسهيل PasteDeploy. ويفسر كل بالتفصيل أدناه.
middlewares WSGI داخل Zope 3
zope.paste يسمح لك كومة middlewares WSGI على رأس تطبيق الناشر Zope 3 دون تغيير طريقة تكوين Zope (zope.conf) أو تشغيلها (runzope، zopectl).
التكوين هو بسيط جدا. على افتراض أن كنت قد قمت بالفعل بإنشاء Zope 3 سبيل المثال باستخدام البرنامج النصي mkzopeinstance، هناك ثلاث خطوات التي تحتاج إلى القيام بها:
تثبيت وتكوين zope.paste
zope.paste يمكن تركيبها كما بيضة في أي مكان على PYTHONPATH الخاص بك أو إسقاط ببساطة إلى حسابك في
<تتضمن حزمة = "zope.paste" />
تكوين الملقم
ونحن إنشاء <الملقم> التوجيه في
<الملقم>
على & nbsp؛ نوع Paste.Main
على & nbsp؛ عنوان 8081
الخادم>
تكوين كومة WSGI
ونحن الآن تكوين تطبيق WSGI باستخدام PasteDeploy بناء الجملة في
[التطبيق: Paste.Main]
paste.app_factory = zope.paste.application: zope_publisher_app_factory
هذا ليس حقا للاهتمام، وإن كان. PasteDeploy يسمح لك لسلسلة مختلف الكيانات WSGI معا، وهو المكان الذي تحصل عليه للاهتمام. ويبدو أن هناك تمييزا بين "التطبيقات" و "الفلاتر" (المشار إليها أيضا باسم 'الوسيطة'). على سبيل المثال يمكن أن تكون ذات فائدة هو تطبيق تحول XSLT إلى الإخراج من تطبيق WSGI Zope 3.
لحسن الحظ بما فيه الكفاية، يبدو شخص ما قد قمت بالفعل بإنشاء فلتر WSGI لتطبيق ورقة أنماط XSLT. يمكنك العثور عليها في http://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.py
إذا أردت تطبيق هذا الفلتر WSGI إلى Zope 3، سوف تحتاج إلى ثلاثة أشياء:
1. وضع الملف xslfilter.py في مكان ما في PYTHONPATH. / ليب / الثعبان هو مكان جيد.
2. إضافة هذه قصاصة إلى أسفل xslfilter.py:
على & nbsp؛ مواطنه filter_factory (global_conf **، local_conf):
على & nbsp؛ تصفية مواطنه (التطبيق):
على & nbsp؛ العودة XSLFilter (التطبيق)
على & nbsp؛ تصفية عودة
3. تغيير ملف paste.ini على النحو التالي:
على & nbsp؛ [خط أنابيب: Paste.Main]
على & nbsp؛ خط أنابيب = XSLT الرئيسية
على & nbsp؛ [التطبيق: الرئيسية]
على & nbsp؛ paste.app_factory = zope.paste.application: zope_publisher_app_factory
على & nbsp؛ [فلتر: XSLT]
على & nbsp؛ paste.filter_factory = xslfilter: filter_factory
على & nbsp؛ هذا ما يفعله هو لتحديد خط أنابيب. معرفة المزيد حول هذا الموضوع على موقع PasteDeploy. الرجوع إلى مصدر xslfilter.py للحصول على معلومات حول كيفية تمرير ورقة أنماط إلى التصفية.
نشر Zope 3 على مزود الويب WSGI قادر
zope.paste يسمح لك لتشغيل Zope 3 على أي برنامج خادم-WSGI قادرة باستخدام PasteDeploy. لهذا سوف لم تعد بحاجة مثيل Zope 3 (وإن كنت لا يزال لديك واحدة)، سوف يتم تكوين Zope من 3 إلى zope.conf ولن تبدأ باستخدام runzope أو zopectl.
تكوين تطبيق
يوفر zope.paste مصنع PasteDeploy متوافق مع لتطبيق WSGI الناشر Zope 3 ويسجل ذلك في نقطة الدخول. وبالتالي يمكننا خلق بسيط جدا تطبيق Zope 3 في ملف التكوين PasteDeploy (على سبيل المثال paste.ini):
[التطبيق: الرئيسية]
استخدام = البيض: zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
DEVMODE = على
في هذه الحالة، يشير /path/to/site.zcml إلى site.zcml كما هو معروف من مثيل Zope 3. يمكنك، على سبيل المثال، وضعت paste.ini إلى مثيل Zope 3 الموجودة، المقبل لsite.zcml.
تكوين قاعدة بيانات ZODB
بدلا من الإشارة إلى ZODB FileStorage باستخدام الإعداد file_storage، يمكنك أيضا تكوين متعددة أو غيرها من الخلفيات قاعدة بيانات ZODB في ملف التكوين على غرار ZConfig (مثل الكثير من zope.conf)، على سبيل المثال ما يلي بتكوين عميل ZEO:
على & nbsp؛
على & nbsp؛ الملقم المضيف المحلي: 8100
على & nbsp؛ تخزين 1
على & nbsp؛ مخبأ بحجم 20MB
على & nbsp؛
الرجوع إلى هذا الملف من paste.ini بهذه الطريقة (وحذف الإعداد file_storage):
db_definition = db.conf
تكوين الملقم
من أجل أن تكون قادرة على استخدام تطبيق Zope لدينا، نحن بحاجة فقط لإضافة تعريف الخادم. يمكننا استخدام تلك التي تأتي مع لصق أو PasteScript، إلى حد ما:
[الخادم: الرئيسية]
استخدام = البيض: PasteScript # wsgiutils
استضافة = 127.0.0.1
ميناء = 8080
الآن يمكننا أن نبدأ التطبيق باستخدام الأمر المقرب الذي يأتي مع PasteScript:
على & nbsp؛ المقرب يخدم paste.ini
يمكن تكوين middlewares WSGI مثل المذكورة أعلاه أو على الموقع الإلكتروني PasteDeploy
ما هو الجديد في هذا الإصدار:.
واضاف لدعم بايثون 3.3.
انخفض الدعم لبيثون 2.4 و 2.5.
دعم إزالتها لتوظيف middlewares WSGI داخل تطبيق Zope 3. ويدعم فقط خادم بدء التشغيل القائم على البرنامج النصي الآن.
وأضاف السيناريو وحدة تحكم جديدة لتشغيل الخادم WSGI-تكوين عجينة والتطبيق.
تتوافق مع معيار تخطيط المشروع ZF.
رخصة المضافة وملف حقوق الطبع والنشر. بيان حقوق التأليف والنشر أيضا ثابتة في رؤوس الملف.
وأضاف MANIFEST.in وtox.ini.
ما هو الجديد في الإصدار 0.4:
إضافة هذا التغيير، أعيد بناؤها من سجلات إس والافراج عن تواريخ PyPI.
دعم خيار التكوين 'ميزات' في ملف INI PasteDeploy، والتي يمكن أن تحتوي على قائمة مفصولة مساحة أسماء الميزة. هذه يمكن اختبارها لفي ملفات ZCML مع بناء الجملة.
في السابق كانت السمة الوحيدة التي يمكن تمكين "DEVMODE" وكان خيارها الخاص. لالتوافق، DEVMODE = على يضيف ميزة "DEVMODE 'الى قائمة الميزة.
المتطلبات:
بيثون
لم يتم العثور على التعليقات