pyramid

Phần mềm chụp màn hình:
pyramid
Các chi tiết về phần mềm:
Phiên bản: 1.4.2
Ngày tải lên: 20 Feb 15
Nhà phát triển: Chris McDonough
Giấy phép: Miễn phí
Phổ biến: 1

Rating: nan/5 (Total Votes: 0)

kim tự tháp là một nhanh, nhỏ, down-to-earth, mã nguồn mở khuôn khổ phát triển Python web & nbsp;. Nó làm cho thực thế giới phát triển ứng dụng web và triển khai nhiều niềm vui hơn, dễ dự đoán hơn, và hiệu quả hơn.
kim tự tháp là một dự án giá treo, và nền tảng của các khuôn khổ web mới nhất được sản xuất bởi các cộng đồng giá treo.
kim tự tháp trước đây được biết đến như repoze.bfg.
Hỗ trợ và tài liệu
Xem trang web của giá treo dự án để xem tài liệu, báo cáo lỗi, và được sự hỗ trợ.
License
kim tự tháp được cung cấp theo giấy phép BSD có nguồn gốc từ Repoze Công

là gì mới trong phiên bản này:

  • mako_templating: thêm phòng thủ. Cách giải quyết cho không importability của mako do markupsafe thượng nguồn thả hỗ trợ Python 3.2. Mako khuôn mẫu sẽ không còn làm việc dưới sự kết hợp của MarkupSafe 0.17 và Python 3.2 (mặc dù sự kết hợp của MarkupSafe 0.17 và Python 3.3 hoặc bất kỳ phiên bản hỗ trợ Python 2 sẽ làm việc OK).
  • Thực hiện pyramid.config.assets.PackageOverrides đối tượng thực hiện các API cho __loader__ đối tượng quy định tại PEP 302. Proxy để các __loader__ thiết lập bởi các nhà nhập khẩu, hiện tại nếu; nếu không, làm tăng NotImplementedError. Điều này làm cho Kim tự tháp nhìn tĩnh đè hoạt động đúng theo Python 3.3 (trước đây họ sẽ không). Xem https://github.com/Pylons/pyramid/pull/1015 cho biết thêm thông tin.

là gì mới trong phiên bản 1.4:

  • Sửa chữa các xét nghiệm chức năng trong hướng dẫn ZODB

là gì mới trong phiên bản 1.4 Beta 3:

  • phát hành bao bì chỉ, không có thay đổi mã. 1.4b2 đã phát hành một brownbag do thiếu các thư mục trong tarball.

là gì mới trong phiên bản 1.3.4:

  • Khi pyramid.debug_routematch được bật và đi qua vị ngữ được sử dụng trong bất kỳ tuyến đường, các bộ định tuyến sẽ tăng một ngoại lệ khi cố gắng để in các thông tin đường gỡ lỗi. Lỗi này đã tồn tại từ 1.3a1.
  • Khi vị đi qua đã được sử dụng trong bất kỳ tuyến đường, proutes và pviews console kịch bản sẽ tăng một ngoại lệ khi cố gắng để in các thông tin đường gỡ lỗi. Lỗi này đã tồn tại từ 1.3a1.
  • backport sửa chữa lỗi từ chủ: - Trong tra cứu Mako Templates, kiểm tra uri tuyệt đối (sử dụng thư mục mako) khi trộn lên thừa kế với kỹ thuật tài sản. https://github.com/Pylons/pyramid/issues/662
  • Khi đăng ký nhiều quan điểm với một vị chấp nhận trong một ứng dụng Pyramid runing dưới Python 3, bạn có thể đã nhận được một Lỗi Loại: loại unorderable: function () & lt; function () ngoại lệ.
  • backport từ master: HTTP Chấp nhận tiêu đề đã không được bình thường hóa có khả năng gây ra mâu thuẫn quan điểm đăng ký để được chú ý. Hai quan điểm rằng chỉ có sự khác biệt trong các trường hợp ('text / html' vs 'text / HTML') bây giờ sẽ nâng cao một lỗi. https://github.com/Pylons/pyramid/pull/620

là gì mới trong phiên bản 1.4 Alpha 1:

  • Sửa chữa lỗi:
  • Chuyển tiếp cổng từ 1,3 chi nhánh: Khi không có chính sách xác thực đã được cấu hình, một cuộc gọi đến pyramid.security.effective_principals sẽ vô điều kiện trở về danh sách sản phẩm nào. Điều này là không đúng, nó cần phải có vô điều kiện trở lại [mọi người], và bây giờ thực hiện.

  • Regexes
  • Explicit url văn bây giờ có thể chứa dấu hai chấm. https://github.com/Pylons/pyramid/issues/629
  • Mở ít nhất một hệ thống Ubuntu 64-bit dưới Python 3.2, sử dụng trang trí view_config gây ra một RuntimeError: từ điển thay đổi kích thước trong quá trình lặp đi lặp lại là ngoại lệ. Nó không còn làm. Xem https://github.com/Pylons/pyramid/issues/635 cho biết thêm thông tin.
  • Trong tra cứu Mako Templates, kiểm tra xem các uri đã được điều chỉnh và đưa nó trở lại một spec tài sản. Thông thường xảy ra với các mẫu di truyền hoặc bao gồm các thành phần. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
  • Trong tra cứu Mako Templates, kiểm tra uri tuyệt đối (sử dụng thư mục mako) khi trộn lên thừa kế với kỹ thuật tài sản. https://github.com/Pylons/pyramid/issues/662
  • HTTP Chấp nhận tiêu đề đã không được bình thường hóa có khả năng gây ra mâu thuẫn quan điểm đăng ký để được chú ý. Hai quan điểm rằng chỉ có sự khác biệt trong các trường hợp ('text / html' vs 'text / HTML') bây giờ sẽ nâng cao một lỗi. https://github.com/Pylons/pyramid/pull/620
  • Chuyển tiếp cổng từ 1,3 chi nhánh: khi đăng ký nhiều quan điểm với một vị chấp nhận trong một ứng dụng Pyramid runing dưới Python 3, bạn có thể đã nhận được một Lỗi Loại: loại unorderable: function () & lt; function () ngoại lệ.
  • Các tính năng:
  • Configurator.add_directive bây giờ chấp nhận callables tùy ý như partials hoặc đối tượng thực hiện __call__ mà không có __name__ và __doc__ thuộc tính. Xem https://github.com/Pylons/pyramid/issues/621 và https://github.com/Pylons/pyramid/pull/647.

  • Vị
  • view tùy chỉnh của bên thứ ba, lộ trình, và thuê bao có thể được thêm vào để sử dụng bởi các tác giả xem qua pyramid.config.Configurator.add_view_predicate, pyramid.config.Configurator.add_route_predicate và pyramid.config.Configurator.add_subscriber_predicate. Vì vậy, ví dụ, làm điều này:
  • config.add_view_predicate ('abc', my.package.ABCPredicate)
  • Có thể cho phép một tác giả xem để làm điều này trong một ứng dụng mà cấu hình vị rằng:
  • view_config (abc = 1)
  • Các tính năng tương tự tồn tại cho add_route, và add_subscriber. Xem & quot; Thêm A View Bên Thứ Ba, Route, hoặc Subscriber vị ngữ & quot; trong chương Hooks để biết thêm thông tin.
  • Lưu ý rằng những thay đổi để hỗ trợ các tính năng ở trên bây giờ có nghĩa là chỉ hành động đăng ký sử dụng cùng một & quot; để & quot; có thể xung đột với nhau. Nó được sử dụng như là trường hợp mà hành động đăng ký tại các đơn đặt hàng khác nhau có thể có khả năng xung đột, nhưng không có gì để kiến ​​thức của tôi bao giờ phụ thuộc vào hành vi này (đó là một chút ngớ ngẩn).

  • Đối tượng
  • tùy chỉnh có thể được thực hiện dễ dàng JSON-serializable trong Kim tự tháp bằng cách định nghĩa một phương pháp __json__ trên lớp của đối tượng. Phương pháp này sẽ trả về giá trị nguyên bản serializable bởi json.dumps (như int, danh sách, từ điển, chuỗi, vv).
  • Các renderer JSON bây giờ cho các định nghĩa của các kiểu tùy chỉnh các adapter để chuyển đổi đối tượng không biết đến JSON serializations.
  • Như của phiên bản này, các vị REQUEST_METHOD, khi được sử dụng, cũng sẽ bao hàm TRỤ vốn được gợi ý khi bạn sử dụng GET. Ví dụ, sử dụngview_config (REQUEST_METHOD = "GET") là tương đương với sử dụngview_config (REQUEST_METHOD = ('GET', 'Đầu')). Sử dụngview_config (REQUEST_METHOD = ('GET', 'POST') là tương đương với sử dụngview_config (REQUEST_METHOD = ('GET', 'SỞ', 'POST'). Điều này là bởi vì TRỤ là một biến thể của GET mà bỏ qua các cơ thể, và WebOb có hỗ trợ đặc biệt để trả lại một cơ thể trống rỗng khi một TRỤ được sử dụng.
  • config.add_request_method đã được giới thiệu để hỗ trợ việc mở rộng đối tượng yêu cầu với callables tùy ý. Phương pháp này mở rộng thêm các config.set_request_property trước đó bằng các phương pháp hỗ trợ cũng như tài sản. Phương pháp này hiện nay ít gây mã được thực hiện theo yêu cầu thời gian xây dựng hơn config.set_request_property trong phiên bản 1.3.
  • Đừng thêm một? đến các URL được tạo ra bởi request.resource_url nếu đối số truy vấn được cung cấp nhưng sản phẩm nào.
  • Đừng thêm một? đến các URL được tạo ra bởi request.route_url nếu đối số _query được cung cấp nhưng sản phẩm nào.
  • Các điểm máy móc tĩnh tại đặt ra (chứ không phải là lợi nhuận) HTTPNotFound và HTTPMovedPermanently trường hợp ngoại lệ, vì vậy chúng có thể được đánh bắt bởi các view notfound (và quan điểm ngoại lệ khác).
  • Các Mako renderer bây giờ hỗ trợ một tên def trong một spec tài sản. Khi tên def có mặt trong spec tài sản, hệ thống sẽ làm cho def template trong template và sẽ trả về kết quả. Một spec dụ tài sản là gói: path / to / template # defname.mako. Điều này sẽ làm cho defname def tên bên trong mẫu template.mako thay render toàn bộ mẫu. Cách cũ trả lại một tuple trong biểu mẫu ('defname', {}) từ quan điểm được hỗ trợ cho khả năng tương thích ngược,
  • Các Chameleon ZPT renderer bây giờ chấp nhận một tên vĩ mô trong một spec tài sản. Khi tên macro là hiện nay trong spec tài sản, hệ thống sẽ đưa ra các macro được liệt kê như là một xác định vĩ mô và trả kết quả thay vì render toàn bộ mẫu. Một spec dụ tài sản: gói: path / to / template # macroname.pt. Điều này sẽ làm cho các macro được định nghĩa như macroname bên trong mẫu template.pt thay vì toàn bộ templae.
  • Khi có một ngoại lệ không phù hợp ngữ (nhìn thấy khi không có điểm phù hợp cho một yêu cầu nhất định do vị không làm việc), ngoại trừ bây giờ chứa một mô tả văn bản của các vị đó không phù hợp.
  • Một phương pháp chỉ thị add_permission đã được thêm vào Configurator. Chỉ thị này ghi một phép introspectable miễn phí-đứng vào hệ thống mẫn Pyramid. Khung được xây dựng trên đỉnh kim tự tháp do đó có thể sử dụng các quyền introspectable dữ liệu loại để xây dựng một danh sách đầy đủ các điều khoản hỗ trợ bởi một hệ thống đang chạy. Trước khi phương pháp này đã được bổ sung, điều khoản đã được đăng ký trong thể loại này introspectable như một tác dụng phụ của việc đặt tên chúng trong một cuộc gọi add_view, phương pháp này chỉ làm cho nó có thể sắp xếp cho một sự cho phép để được đưa vào các điều khoản loại introspectable không đặt tên cùng với một quan điểm liên quan. Dưới đây là một ví dụ về cách sử dụng của add_permission:
  • cấu hình = Configurator ()
  • config.add_permission ('xem')
  • Các UnencryptedCookieSessionFactoryConfig bây giờ chấp nhận signed_serialize và signed_deserialize móc mà có thể được sử dụng để tạo ảnh hưởng tới các phiên họp được sắp đặt (mặc định này được thực hiện với HMAC + dưa).
  • pyramid.testing.DummyRequest bây giờ hỗ trợ các phương pháp được cung cấp bởi lớp pyramid.util.InstancePropertyMixin như set_Property.
  • properties Yêu cầu và phương pháp bổ sung thông qua config.set_request_property hoặc config.add_request_method đang có sẵn để tweens.
  • properties Yêu cầu và phương pháp bổ sung thông qua config.set_request_property hoặc config.add_request_method đang có sẵn trong các đối tượng yêu cầu trở về từ pyramid.paster.bootstrap.
  • request.context các yêu cầu môi trường trong quá trình bootstrap tại là đối tượng gốc nếu một bối cảnh chưa được thiết lập trên một yêu cầu được cung cấp.
  • Các chức năng pyramid.decorator.reify bây giờ là một API, và được thêm vào các tài liệu API.
  • Thêm người quản lý bối cảnh pyramid.testing.testConfig, mà có thể được sử dụng để tạo ra một cấu hình trong một thử nghiệm, ví dụ: với testing.testConfig (...):.

  • Hiện tại
  • Người dùng có thể gọi một subrequest từ bên trong xem mã sử dụng một request.invoke_subrequest API mới.
  • Deprecations:
  • Các pyramid.config.Configurator.set_request_property đã được tài liệu-phản đối. Phương pháp này vẫn có thể sử dụng nhưng pyramid.config.Configurator.add_request_method featureful hơn nên được sử dụng ở vị trí của nó (nó có tất cả các khả năng tương tự, nhưng cũng có thể mở rộng các đối tượng yêu cầu với các phương pháp).
  • ngược xung khắc:
  • Router Pyramid không còn cho biết thêm các giá trị bfg.routes.route hoặc bfg.routes.matchdict vào từ điển môi trường WSGI của request. Những giá trị này là tài liệu-phản đối trong repoze.bfg 1.0 (có hiệu quả bảy phiên bản nhỏ trước). Nếu mã của bạn phụ thuộc vào các giá trị, sử dụng request.matched_route và request.matchdict thay thế.
  • Đó là không còn có thể vượt qua một từ điển trực tiếp đến môi trường pyramid.traversal.ResourceTreeTraverser .__ call__ (aka ModelGraphTraverser .__ call__). Thay vào đó, bạn phải vượt qua một đối tượng yêu cầu. Đi qua một môi trường thay vì một yêu cầu đã tạo ra một cảnh báo kể từ deprecation Pyramid 1.1.
  • Pyramid sẽ không còn hoạt động đúng nếu bạn sử dụng các webob.request.LegacyRequest như một nhà máy yêu cầu. Trường hợp của lớp LegacyRequest có một request.path_info mà trả về một chuỗi. Phát hành Kim tự tháp này giả định rằng request.path_info sẽ vô điều kiện là Unicode.
  • Các chức năng từ pyramid.chameleon_zpt và pyramid.chameleon_text tên get_renderer, get_template, render_template, và render_template_to_response đã được gỡ bỏ. Những đã ban hành một cảnh báo deprecation khi nhập khẩu từ Pyramid 1.0. Sử dụng pyramid.renderers.get_renderer (), pyramid.renderers.get_renderer (). Thực hiện (), pyramid.renderers.render () hoặc pyramid.renderers.render_to_response tương ứng thay vì các chức năng này.
  • Các module pyramid.configuration đã được gỡ bỏ. Nó đã bị phản đối vì Pyramid 1.0 và in một cảnh báo deprecation khi sử dụng nó. Sử dụng pyramid.config thay thế.
  • Các pyramid.paster.PyramidTemplate API đã được gỡ bỏ. Nó đã bị phản đối vì Pyramid 1.1 và ban hành một cảnh báo về nhập khẩu. Nếu mã của bạn phụ thuộc vào điều này, điều chỉnh mã của bạn để nhập khẩu pyramid.scaffolds.PyramidTemplate thay thế.
  • Các pyramid.settings.get_settings () API đã được gỡ bỏ. Nó đã được in một cảnh báo kể từ deprecation Pyramid 1.0. Nếu mã của bạn phụ thuộc vào API này, sử dụng pyramid.threadlocal.get_current_registry (). Thiết lập thay vì hay sử dụng các thuộc tính thiết lập của registry có sẵn từ các yêu cầu (request.registry.settings).
  • Các API từ các mô-đun pyramid.testing đã được gỡ bỏ. Họ đã được in cảnh báo kể từ deprecation Pyramid 1.0:
  • registerDummySecurityPolicy, sử dụng pyramid.config.Configurator.testing_securitypolicy thay thế.
  • registerResources (aka registerModels, sử dụng pyramid.config.Configurator.testing_resources thay thế.
  • registerEventListener, sử dụng pyramid.config.Configurator.testing_add_subscriber thay thế.
  • registerTemplateRenderer (aka registerDummyRenderer`), sử dụng pyramid.config.Configurator.testing_add_template thay vì
  • .
  • registerView, sử dụng pyramid.config.Configurator.add_view thay thế.
  • registerUtility, sử dụng pyramid.config.Configurator.registry.registerUtility thay thế.
  • registerAdapter, sử dụng pyramid.config.Configurator.registry.registerAdapter thay thế.
  • registerSubscriber, sử dụng pyramid.config.Configurator.add_subscriber thay thế.
  • registerRoute, sử dụng pyramid.config.Configurator.add_route thay thế.
  • registerSettings, pyramid.config.Configurator.add_settings sử dụng thay thế
  • .
  • Trong Pyramid 1.3 và trước đó, các phương pháp __call__ của một đáp ứng đối tượng được gọi trước khi bất kỳ callbacks thành đã được thực hiện. Tính đến phiên bản này, các phương pháp __call__ của một đáp ứng đối tượng được gọi sau khi callbacks hoàn thành được thực hiện. Đây là hỗ trợ các tính năng request.invoke_subrequest.
  • Tài liệu:
  • Added một & quot; Nâng cấp Pyramid & quot; chương để nói về tài liệu hướng dẫn tường thuật. Nó mô tả làm thế nào để đối phó với deprecations và loại bỏ Pyramid API và làm thế nào để hiển thị cảnh báo deprecation kim tự tháp tạo ra trong khi đang chạy thử nghiệm và trong khi chạy một máy chủ.
  • Thêm một & quot; Gọi một Subrequest & quot; chương để nói về tài liệu hướng dẫn. Nó mô tả làm thế nào để sử dụng các request.invoke_subrequest API mới.
  • Phụ thuộc:
  • Pyramid bây giờ đòi hỏi WebOb 1.2b3 + (phiên bản Pyramid trước chỉ dựa vào 1.2dev +). Điều này là để đảm bảo rằng chúng ta có được một phiên bản của WebOb mà trả request.path_info dưới dạng văn bản.

là gì mới trong phiên bản 1.3.2:

  • Phiên bản 1.3.1 đã phát hành một brownbag, tại Ít nhất trên Windows và có thể hoạt động trên các hệ thống khác, do sự tồn tại của một hoang & quot; thư mục gói (quote bao gồm) trong thư mục gốc của 1.3.1 tarball. Thư mục này và nội dung của nó có mặt vì tarball đã được tạo ra bằng cách sử dụng một phiên bản phát hành của setuptools-git hơn là một setuptools-git cài đặt từ một kiểm tra. Thay đổi duy nhất trong phiên bản này là để sửa lỗi đóng gói trong 1.3.1.

là gì mới trong phiên bản 1.3:

  • Khi pyramid.wsgi.wsgiapp2 gọi các ứng dụng WSGI hạ lưu, môi trường của ứng dụng sẽ không còn có (phản đối và có khả năng gây nhầm lẫn) bfg.routes.matchdict hoặc bfg.routes.route phím trong nó. Một triệu chứng của lỗi này sẽ là một ứng dụng Pyramid wsgiapp2 bọc tìm xem sai lầm bởi vì nó phát hiện rằng một tuyến đường đã được phù hợp khi, trên thực tế, nó không được.
  • Sửa chữa cho vấn đề https://github.com/Pylons/pyramid/issues/461 (mà làm cho nó có thể cho phương pháp dụ được sử dụng như xem callables) giới thiệu một sự không tương thích ngược khi các phương pháp đó tuyên bố chỉ có một đối số yêu cầu là sử dụng. Xem https://github.com/Pylons/pyramid/issues/503

là gì mới trong phiên bản 1.3 Beta 2:

  • Phương pháp pyramid.request.Request.partial_application_url là không còn trong các tài liệu API. Điều đó có nghĩa là một phương pháp tư nhân; nó được công bố trong tài liệu là một phương pháp API là một sai lầm, và nó đã được đổi tên thành một cái gì đó riêng tư.
  • Khi một cái nhìn tĩnh đã được đăng ký sử dụng một đường dẫn tuyệt đối hệ thống tập tin trên Windows, chức năng request.static_url đã không làm việc để tạo ra đường dẫn đến các nguồn tài nguyên của nó. Triệu chứng: & quot; Không tĩnh phù hợp với định nghĩa URL c:. Foobarbaz & quot;
  • Thực hiện tất cả các bài kiểm tra qua trên Windows XP.
  • Bug trong ACL xác thực kiểm tra trên Python 3: Giấy phép và principals_allowed_by_permission phương pháp pyramid.authorization.ACLAuthenticationPolicy có thể trả lại một giá trị True không phù hợp khi một sự cho phép trên một ACL là một chuỗi hơn là một chuỗi, và sau đó chỉ khi được sự cho phép ACL chuỗi là một chuỗi con của giá trị cho phép truyền cho hàm.
  • Lỗi này ảnh hưởng không triển khai Pyramid dưới Python 2; nó là một lỗi mà chỉ tồn tại trong triển khai chạy trên Python 3. Nó đã tồn tại từ Pyramid 1.3a1.
  • Lỗi này là do sự hiện diện của một thuộc tính __iter__ trên dây dưới Python 3 mà không có mặt trong chuỗi trong Python 2.

là gì mới trong phiên bản 1.3 Beta 1:

  • Sửa chữa lỗi:
  • pyramid.config.Configurator.with_package đã không làm việc nếu Configurator là một kiểu cũ pyramid.configuration.Configurator dụ.
  • Các chính Pyramid đã không xuất hiện trong các Introspector.
  • Deprecations:
  • Tất cả tài liệu tham khảo để biến yêu cầu tmpl_context đã được gỡ bỏ từ các tài liệu. Sự tồn tại của nó trong Kim tự tháp là khó hiểu đối với người không bao giờ sử dụng giá treo. Nó đã được thêm vào như là một tiện nghi cho người sử dụng giá treo porting trong Pyramid 1.0, nhưng nó không bao giờ bị bắt về vì các hệ thống dựng hình kim tự tháp là rất nhiều khác biệt so với giá treo 'là, và cách thay thế tồn tại để làm gì nó được thiết kế để cung cấp trong giá treo. Nó sẽ tiếp tục tồn tại & quot; mãi mãi & quot; nhưng nó sẽ không được đề nghị hoặc được đề cập trong các tài liệu.

Yêu cầu :

  • Python

Phần mềm khác của nhà phát triển Chris McDonough

superlance
superlance

20 Feb 15

pyramid_exclog
pyramid_exclog

14 Apr 15

Supervisor
Supervisor

20 Feb 15

pyramid_handlers
pyramid_handlers

14 Apr 15

Ý kiến ​​để pyramid

Bình luận không
Nhập bình luận
Bật hình ảnh!