pyramid

نرم افزار تصویر:
pyramid
جزئیات نرم افزار:
نسخه: 1.4.2
ها تاریخ: 20 Feb 15
توسعه دهنده: Chris McDonough
پروانه: رایگان
محبوبیت: 1

Rating: nan/5 (Total Votes: 0)

.

هرم سریع، کوچک، پایین به زمین، منبع باز چارچوب توسعه وب پایتون و nbsp است. این باعث می شود دنیای واقعی توسعه نرم افزار وب و استقرار بیشتر سرگرم کننده، قابل پیش بینی تر و پربارتر.
هرم یک پروژه تیرهای است، و زمینه جدیدترین چارچوب وب تولید شده توسط جامعه تیرهای.
هرم قبلا به عنوان repoze.bfg شناخته شده بود.
پشتیبانی و مستندات
مشاهده وب سایت تیرهای پروژه برای مشاهده مستندات، اشکالات گزارش، و به دست آوردن حمایت.
پروانه
هرم تحت مجوز Repoze عمومی-BSD مشتق شده ارائه شده

چه در این نسخه جدید است.

mako_templating: راه حل دفاعی برای غیر importability از ماکو به دلیل markupsafe بالادست رها پایتون اضافه پشتیبانی 3.2. قالب ماکو دیگر تحت ترکیبی از MarkupSafe 0.17 و پایتون 3.2 (اگر چه ترکیبی از MarkupSafe 0.17 و پایتون 3.3 یا هر پشتیبانی پایتون 2 نسخه OK کار خواهد کرد) کار خواهد کرد.
را pyramid.config.assets.PackageOverrides اعتراض پیاده سازی API برای __loader__ اشیاء مشخص شده در PEP 302. پراکسی به __loader__ تعیین شده توسط وارد کننده، در صورت وجود. در غیر این صورت، بالا می برد NotImplementedError. این باعث می شود هرم لغو مشخصات شخص به درستی تحت پایتون 3.3 (که قبلا آنها نیست) کار می کنند. https://github.com/Pylons/pyramid/pull/1015 برای اطلاعات بیشتر.

چه در نسخه 1.4 جدید است:

در رفع آزمون عملکردی در آموزش ZODB

جدید در نسخه 1.4 بتا است 3:

انتشار بسته بندی تنها، بدون هیچ تغییری کد. 1.4b2 انتشار brownbag با توجه به دایرکتوری های از دست رفته در بسته بود.

چه در نسخه 1.3.4 جدید است:

هنگام pyramid.debug_routematch روشن شد و گزاره تراورس در هر مسیر مورد استفاده قرار گرفت، روتر می استثنا افزایش هنگام سعی برای چاپ اطلاعات مسیر اشکال زدایی. این اشکال از سال 1.3a1 وجود داشته است.
هنگامی که گزاره تراورس در هر مسیر مورد استفاده قرار گرفت، proutes و pviews اسکریپت کنسول را یک استثنا هنگام سعی برای چاپ اطلاعات مسیر اشکال زدایی بالا می برد. این اشکال از سال 1.3a1 وجود داشته است.
Backport رفع اشکال از استاد: - در ماکو قالب مراجعه، بررسی برای URI مطلق (با استفاده از دایرکتوری ماکو) زمانی که مخلوط تا ارث با مشخصات دارایی. https://github.com/Pylons/pyramid/issues/662
انواع unorderable:: هنگام ثبت نام نمایش ها متعدد را با گزاره شرایط در یک برنامه هرم runing مطابق تحت پایتون 3، شما ممکن است TypeError دریافت کرده اند تابع () به & lt؛ تابع () استثناء است.
Backport از استاد: HTTP قبول هدر شد که نرمال نمی باعث بالقوه متناقض مشخصات ثبت نام از نظر دور بماند. دو دیدگاه است که فقط در مورد (متن / HTML "در مقابل" متن / HTML ") متفاوت خواهد در حال حاضر یک خطا بالا می برد. https://github.com/Pylons/pyramid/pull/620

رفع اشکال:

چه جدید در نسخه 1.4 آلفا 1 است:
پورت رو به جلو از 1.3 شاخه: وقتی که هیچ سیاست احراز هویت پیکربندی شده است، یک تماس به pyramid.security.effective_principals بدون قید و شرط می بازگشت به لیست خالی. این نادرست بود، آن را باید بدون قید و شرط بازگشت [هر کس]، و در حال حاضر انجام می دهد.
صریح و روشن regexes اعزام URL در حال حاضر می تواند شامل دونقطه. https://github.com/Pylons/pyramid/issues/629
در حداقل یک 64 بیتی سیستم اوبونتو تحت پایتون 3.2، با استفاده از دکوراتور view_config باعث RuntimeError: فرهنگ لغت اندازه در طول تکرار استثنا تغییر کرده است. این کار دیگر. https://github.com/Pylons/pyramid/issues/635 برای اطلاعات بیشتر.
در ماکو قالب مراجعه، چک کردن و URI در حال حاضر تنظیم و آن را به تنظیمات دارایی. به طور معمول با قالب به ارث برده و یا اجزای شامل می شود. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
در ماکو قالب مراجعه، برای URI مطلق چک (با استفاده از دایرکتوری ماکو) زمانی که مخلوط تا ارث با مشخصات دارایی. https://github.com/Pylons/pyramid/issues/662
HTTP قبول هدر شد که نرمال نمی باعث بالقوه متناقض مشخصات ثبت نام از نظر دور بماند. دو دیدگاه است که فقط در مورد (متن / HTML "در مقابل" متن / HTML ") متفاوت خواهد در حال حاضر یک خطا بالا می برد. https://github.com/Pylons/pyramid/pull/620
رو به جلو، پورت از 1.3 شاخه: زمان ثبت نام نمایش ها متعدد را با گزاره شرایط در یک برنامه هرم runing مطابق تحت پایتون 3، شما ممکن است TypeError دریافت کرده اند: انواع unorderable: تابع () به & lt؛ تابع () استثناء است.
ویژگی ها:
Configurator.add_directive در حال حاضر callables خودسرانه مانند جزئی و یا اشیاء اجرای __call__ که اصلا __name__ و __doc__ ویژگی را می پذیرد. https://github.com/Pylons/pyramid/issues/621 و https://github.com/Pylons/pyramid/pull/647 را ببینید.
مشخصات شخص ثالث سفارشی، مسیر، و مشترک محمولات هم اکنون می توانید برای استفاده توسط مشخصات نویسندگان از طریق pyramid.config.Configurator.add_view_predicate، pyramid.config.Configurator.add_route_predicate و pyramid.config.Configurator.add_subscriber_predicate اضافه شود. بنابراین، برای مثال، انجام این کار:
config.add_view_predicate ('ای بی سی "، my.package.ABCPredicate)
ممکن است اجازه می دهد یک نویسنده به انجام این کار در برنامه ای که پیکربندی که گزاره:
view_config (ABC = 1)
ویژگی های مشابه برای add_route، و add_subscriber وجود داشته باشد. به & quot؛ افزودن یک شخص ثالث مشخصات، مسیر، و یا مشترک محمولات ها & quot؛ در فصل قلاب برای اطلاعات بیشتر.
توجه داشته باشید که تغییرات ساخته شده برای حمایت از ویژگی فوق در حال حاضر بدان معنی است که تنها اقدامات با استفاده از همان ها & quot ثبت نام. منظور و & quot؛ می توانید با یک دیگر در تضاد. آن استفاده می شود مورد که اقدامات در دستور مختلف ثبت نام می تواند به طور بالقوه تعارض، اما به هیچ چیز دانش من تا به حال در این رفتار وابسته (آن را کمی احمقانه بود).
اشیاء سفارشی را می توان در هرم با تعریف یک روش __json__ در کلاس شی ساخته شده به راحتی JSON-serializable. این روش باید مقادیر طبیعی json.dumps serializable بازگشت (مانند وقفه، لیست ها، واژه نامه ها، رشته ها، و غیره).
رندر JSON در حال حاضر اجازه می دهد تا برای تعریف آداپتورهای نوع سفارشی برای تبدیل اشیاء ناشناخته به serializations JSON.
همانطور که از این نسخه، گزاره REQUEST_METHOD، هنگامی که استفاده می شود، همچنین این مفهوم را میرسانند خواهد که سر ضمنی است هنگام استفاده از GET. به عنوان مثال، با استفاده ازview_config (REQUEST_METHOD = مواجه ') معادل با استفاده ازview_config است (REQUEST_METHOD = (مواجه'، 'HEAD')). با استفاده ازview_config (REQUEST_METHOD = (مواجه '،' POST ') معادل با استفاده ازview_config (است REQUEST_METHOD = (مواجه'، 'HEAD'، 'POST'). دلیل این است که سر یک نوع GET که حذف می باشد بدن، و WebOb دارای پشتیبانی ویژه برای بازگشت بدن خالی وقتی که سر استفاده می شود.
config.add_request_method معرفی شده است برای حمایت از گسترش اشیاء درخواست با callables خودسرانه. این روش گسترش می یابد، در config.set_request_property قبلی ارسال شده توسط روش حمایت و همچنین خواص. این روش در حال حاضر باعث کد کمتر به درخواست زمان ساخت و ساز از config.set_request_property در نسخه 1.3 اجرا شود.
آیا اضافه کنید؟ به آدرس تولید شده توسط request.resource_url اگر استدلال پرس و جو ارائه شده است اما خالی است.
آیا اضافه کنید؟ به آدرس تولید شده توسط request.route_url اگر استدلال _query ارائه شده است اما خالی است.
ماشین آلات مشخصات شخص در حال حاضر بالا می برد (به جای بازده) HTTPNotFound و HTTPMovedPermanently استثنا، به طوری که این را می توان با این دیدگاه NotFound (و دیگر نمایش ها استثنا) گرفتار.
رندر ماکو در حال حاضر یک نام دف در تنظیمات دارایی پشتیبانی می کند. وقتی که نام دف حاضر در تنظیمات دارایی است، سیستم دف قالب در قالب ارائه خواهد شد و در نتیجه بازگشت. تنظیمات مثال دارایی است بسته: مسیر / به / الگو # defname.mako. با این کار defname دف نام در داخل قالب template.mako به جای ارائه تمام قالب ارائه. راه قدیمی از بازگشت یک تاپل در قالب ('defname'، {}) از دیدگاه برای سازگاری پشتیبانی،
رندر آفتابپرست ZPT در حال حاضر یک نام ماکرو در تنظیمات دارایی می پذیرد. وقتی که نام ماکرو در تنظیمات دارایی است، سیستم ماکرو ذکر شده به عنوان یک تعریف-ماکرو ارائه و به جای بازگشت به نتیجه رندر کل الگو. تنظیمات مثال دارایی: بسته: مسیر / به / الگو # macroname.pt. این تعریف ماکرو به عنوان macroname در قالب template.pt به جای کل templae ارائه.
هنگامی که یک استثنا عدم تطابق گزاره (دیده می شود زمانی که هیچ دیدگاه مسابقات برای درخواست داده با توجه به گزاره کار نمی کند) وجود دارد، به جز در حال حاضر شامل شرح متنی از گزاره که مطابقت ندارد.
روش بخشنامه add_permission به تنظیم اضافه شد. این بخشنامه ثبت introspectable اجازه آزاد ایستاده به سیستم درون گرایی هرم. قاب ساخته شده است در بالای هرم در نتیجه می تواند با استفاده از مجوزهای داده رده introspectable برای ساخت یک لیست جامع از مجوز های پشتیبانی شده توسط سیستم در حال اجرا. قبل از این روش اضافه شد، مجوز در حال حاضر در این گروه introspectable به عنوان یک عارضه جانبی از نام بردن از آنها در یک تماس add_view ثبت شد، این روش فقط امکان به ترتیب برای اجازه دسترسی به توان به مجوز قرار رده introspectable بدون نام بردن از آن را به همراه نمایش همراه است. در اینجا یک مثال از استفاده از add_permission است:
پیکربندی = تنظیم ()
config.add_permission ('نمایش')
UnencryptedCookieSessionFactoryConfig در حال حاضر signed_serialize و signed_deserialize قلاب که ممکن است برای نفوذ چگونه جلسات marshalled ها (به طور پیش فرض این است که با HMAC + ترشی انجام می شود) مورد استفاده قرار می پذیرد.
pyramid.testing.DummyRequest در حال حاضر روش های کلاس pyramid.util.InstancePropertyMixin مانند set_property عرضه پشتیبانی می کند.
خواص درخواست و روش اضافه از طریق config.set_request_property یا config.add_request_method حال حاضر در دسترس به tweens.
خواص درخواست و روش اضافه از طریق config.set_request_property یا config.add_request_method حال حاضر در دسترس در شی درخواست بازگشت از pyramid.paster.bootstrap.
request.context درخواست محیط زیست در طول راه انداز در حال حاضر شی ریشه اگر زمینه در حال حاضر در یک درخواست ارائه مجموعه نیست.
تابع pyramid.decorator.reify در حال حاضر API، و به اسناد و مدارک API اضافه شد.
اضافه شده مدیر زمینه pyramid.testing.testConfig، که می تواند مورد استفاده برای تولید تنظیم در یک آزمون، به عنوان مثال با testing.testConfig (...) :.
کاربران می توانند در حال حاضر subrequest از درون نمایش کد با استفاده از API های جدید request.invoke_subrequest استناد.
Deprecations:
pyramid.config.Configurator.set_request_property شده است-مستندات منسوخ شده است. روش قابل استفاده باقی می ماند اما pyramid.config.Configurator.add_request_method featureful تر باید در خود جای داده (آن را تا به تمام قابلیت های مشابه اما همچنین می تواند شی درخواست با روش گسترش) استفاده می شود.
به عقب ناسازگاری:
روتر هرم می افزاید دیگر bfg.routes.route ارزش یا bfg.routes.matchdict به درخواست محیط WSGI فرهنگ لغت. این مقادیر (پیش به طور موثر هفت منتشر جزئی) اسناد-توصیه در repoze.bfg 1.0 بود. اگر کد شما وابسته به این ارزش ها، استفاده از request.matched_route و request.matchdict به جای.
این دیگر امکان پذیر است به تصویب فرهنگ لغت محیط به طور مستقیم به pyramid.traversal.ResourceTreeTraverser .__ call__ (با نام مستعار ModelGraphTraverser .__ call__). در عوض، شما باید یک شی درخواست منتقل می کند. پس از گذشت یک محیط به جای یک درخواست به یک هشدار میلی از هرم 1.1 تولید می شود.
هرم دیگر کار خواهد کرد به درستی در صورت استفاده از webob.request.LegacyRequest به عنوان یک کارخانه درخواست. نمونه از LegacyRequest کلاس یک request.path_info که بازگشت یک رشته است. این نسخه هرم فرض می شود که request.path_info بدون قید و شرط یونیکد خواهد بود.
توابع از pyramid.chameleon_zpt و pyramid.chameleon_text نام get_renderer، get_template، render_template، و render_template_to_response حذف شده است. این یک هشدار میلی به واردات از هرم 1.0 صادر کرده اند. استفاده از pyramid.renderers.get_renderer ()، pyramid.renderers.get_renderer (). اجرای ()، pyramid.renderers.render () و یا pyramid.renderers.render_to_response به ترتیب به جای این توابع.
ماژول pyramid.configuration برداشته شد. این از هرم 1.0 بد دانسته شده بود و یک هشدار میلی به استفاده از آن چاپ شده است. به جای استفاده از pyramid.config.
API pyramid.paster.PyramidTemplate برداشته شد. این از هرم 1.1 بد دانسته شده بود و یک هشدار در واردات صادر شده است. اگر کد شما وابسته به این، تنظیم کد خود را به جای به وارد pyramid.scaffolds.PyramidTemplate.
pyramid.settings.get_settings () API برداشته شد. این چاپ شده بود هشدار میلی از هرم 1.0. اگر کد شما وابسته به این API، به جای استفاده از pyramid.threadlocal.get_current_registry (). تنظیمات و یا استفاده از ویژگی تنظیمات رجیستری در دسترس از درخواست (request.registry.settings).
این رابط های برنامه کاربردی از ماژول pyramid.testing حذف شدند. آنها چاپ شده است هشدار میلی از هرم 1.0:
registerDummySecurityPolicy، به جای استفاده از pyramid.config.Configurator.testing_securitypolicy.
به جای registerResources (با نام مستعار registerModels، استفاده pyramid.config.Configurator.testing_resources.
registerEventListener، به جای استفاده از pyramid.config.Configurator.testing_add_subscriber.
registerTemplateRenderer (با نام مستعار registerDummyRenderer`)، به جای استفاده از pyramid.config.Configurator.testing_add_template.
registerView، به جای استفاده از pyramid.config.Configurator.add_view.
registerUtility، به جای استفاده از pyramid.config.Configurator.registry.registerUtility.
registerAdapter، به جای استفاده از pyramid.config.Configurator.registry.registerAdapter.
registerSubscriber، به جای استفاده از pyramid.config.Configurator.add_subscriber.
registerRoute، به جای استفاده از pyramid.config.Configurator.add_route.
registerSettings، به جای استفاده از pyramid.config.Configurator.add_settings.
در هرم 1.3 و قبلی، از روش __call__ از یک شی پاسخ قبل از هر گونه تماس مجدد به پایان رسید اعدام شدند استناد شد. همانطور که از این نسخه، از روش __call__ از یک شی پاسخ است استناد بعد از تماس مجدد به پایان رسید اعدام می نمایند. این است در حمایت از request.invoke_subrequest ویژگی.
مستندات:
اضافه شده به & quot؛ به روز رسانی هرم ها & quot؛ فصل به اسناد روایت. این توضیح می دهد چگونه به مقابله با deprecations و از بین بردن رابط های برنامه کاربردی هرم و چگونه برای نشان دادن هشدار میلی هرم-تولید در حالی که در حال اجرا آزمایش و در حالی که در حال اجرا در سرور.
اضافه شده یک & quot؛ احضارکمکدرمورد Subrequest ها & quot؛ فصل به مستندات. این توضیح می دهد چگونه به استفاده از API های جدید request.invoke_subrequest.
وابستگی:
هرم در حال حاضر نیاز به WebOb 1.2b3 + (آزادی هرم قبل تنها در 1.2dev + اتکا). این است که به اطمینان حاصل شود که ما به دست آوردن یک نسخه از WebOb که request.path_info گرداند متن.

جدید در نسخه 1.3.2 است:

در نسخه 1.3.1 انتشار brownbag بود، در دست کم بر روی ویندوز و احتمالا در سیستم عامل های دیگر، با توجه به وجود یک ولگرد و & quot؛ دایرکتوری بسته (نقل قول شامل) در فهرست ریشه از 1.3.1 بسته. این دایرکتوری و محتویات آن را در حال حاضر به دلیل بسته با استفاده از یک نسخه از setuptools-دستگاه گوارش به جای یک setuptools-دستگاه گوارش نصب از پرداخت ساخته شده است. تنها تغییر در این نسخه این است که اصلاح خطا بسته بندی در 1.3.1.

جدید در نسخه 1.3 است:

هنگام pyramid.wsgi.wsgiapp2 خواستار برنامه WSGI پایین دست، محیط برنامه دیگر خواهد (توصیه و به طور بالقوه گمراه کننده) bfg.routes. matchdict یا bfg.routes.route کلید در آن است. یک نشانه از این اشکال خواهد بود برنامه هرم-wsgiapp2 پیچیده پیدا کردن مشخصات اشتباه به خاطر آن اشتباه تشخیص دهد یک مسیر همسان بود که، در واقع، چنین نیست.
اصلاحیه شماره https://github.com/Pylons/pyramid/issues/461 (که این امکان را برای روش به عنوان مثال به عنوان مشخصات callables استفاده ساخته شده) معرفی ناسازگاری عقب هنگامی که روش که تنها یک آرگومان درخواست اعلام استفاده شد. مشاهده https://github.com/Pylons/pyramid/issues/503

جدید در نسخه 1.3 بتا 2:

روش pyramid.request.Request.partial_application_url دیگر در اسناد API هیچ. آن را به یک روش خصوصی بود. انتشار آن در اسناد به عنوان یک روش API یک اشتباه بود، و از آن شده است به چیزی خصوصی تغییر نام داد.
هنگامی که یک نمایش شخص با استفاده از یک مسیر فایل سیستم مطلق در ویندوز ثبت شده بود، تابع request.static_url کار نمی برای تولید URL ها را به منابع آن است. نشانه: & quot؛ خیر شخص تطبیق تعریف URL ج: foobarbaz و quot؛ کلیک کنید
همه آزمون بر روی ویندوز XP منتقل می کند.
اشکال در احراز هویت ACL چک کردن در پایتون 3: مجوز و principals_allowed_by_permission روش pyramid.authorization.ACLAuthenticationPolicy می تواند ارزش واقعی نامناسب زمانی که مجوز ACL یک رشته به جای دنباله بود بازگشت، و پس از آن تنها در صورتی که رشته اجازه ACL بود زیر رشته از ارزش اجازه دسترسی به تابع منتقل می شود.
این اثر اشکال ندارد استقرار هرم تحت پایتون 2. آن یک اشکال است که تنها در استقرار در حال اجرا در پایتون 3. وجود دارد این است از هرم 1.3a1 وجود داشته است.
این اشکال به دلیل حضور یک ویژگی __iter__ در رشته تحت پایتون 3 است که تحت رشته در پایتون 2 حاضر نمی شد.

رفع اشکال:

جدید در نسخه 1.3 بتا 1 است:
pyramid.config.Configurator.with_package کار نمی اگر تنظیم یک نمونه pyramid.configuration.Configurator به سبک قدیمی بود.
سیاست مجوز هرم را نشان ندادند در introspector.
Deprecations:
همه مراجع به متغیر درخواست tmpl_context از اسناد حذف شدند. وجود آن در هرم گیج کننده برای افرادی که کاربران دکل هرگز شده است. این به عنوان یک راحتی انتقال برای کاربران تیرهای در هرم 1.0 اضافه شد، اما آن را هرگز گرفتار در به دلیل سیستم رندر هرم زیادی متفاوت از تیرهای است 'بود، و راه های بدیل وجود دارد به انجام آنچه در آن برای ارائه در تیرهای طراحی شده است. این ادامه خواهد داد به وجود & quot؛ را برای همیشه & quot؛ را اما آن را نمی خواهد توصیه می شود و یا ذکر شده در اسناد.

مورد نیاز:

پایتون

نرم افزار های دیگر از توسعه دهنده Chris McDonough

pyramid_ldap
pyramid_ldap

14 Apr 15

Waitress
Waitress

14 Apr 15

superlance
superlance

20 Feb 15

نظرات به pyramid

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!