跳转到主要内容

适用于每个pyramid应用的实用工具

项目描述

Pyramid Duh

主构建::

build coverage

0.1 构建::

build-0.1 coverage-0.1

文档::

http://pyramid_duh.readthedocs.org/

下载::

http://pypi.python.org/pypi/pyramid_duh

源代码::

https://github.com/stevearc/pyramid_duh

这仅仅是我发现自己放入我制作的每个pyramid项目中的工具集合。现在它们都放在一个地方。

这里有一个快速的尝鲜。

不要这样做

def register_user(request):
    username = request.POST['username']
    password = request.POST['password']
    birthdate = request.POST['birthdate']

这样做

@argify(birthdate=date)
def register_user(request, username, password, birthdate):
    ...

这个URL匹配什么?

@view_config(context=Root, name='package')
def get_or_list_packages(request):
    ...

嗯,它匹配

  • /package

  • /package/

  • /package/1234

  • /package/wait/hold/on

  • /package/this/seems/confusing

哇?让我们修复一下

@view_config(context=Root, name='package', subpath=())
def list_packages(request):
    # return a list of packages

@view_config(context=Root, name='package', subpath=('id/*')
def get_package(request):
    package_id = request.named_subpaths['id']
    # fetch a single package

第一个匹配

  • /package

  • /package/

第二个匹配

  • /package/*

  • /package/*/

但这仍然看起来很混乱。你 需要 一致性!

@view_config(context=Root, name='package', subpath=())
@addslash
def list_packages(request):
    # return a list of packages

@view_config(context=Root, name='package', subpath=('id/*')
@addslash
def get_package(request):
    package_id = request.named_subpaths['id']
    # fetch a single package

现在它只是 /package//package/*/

这就是销售点。阅读文档以获取更多详细信息。

变更日志

0.1.2

  • 错误修复:修复将Unix时间转换为datetime时潜在的时间区域问题

  • 使用“six”库以实现python 2/3兼容性

0.1.1

  • 错误修复:IStaticResource在嵌套2层时无法查找self.request

  • 错误修复:与version_helper.py发生名称冲突

  • 错误修复:子路径通配符匹配始终区分大小写

  • 特性:@argify 在视图类上工作

  • 特性:@argify 可以注入消耗多个参数的类型

  • 特性:参数类型可以是点路径

0.1.0

  • 软件包已发布到野外

项目详情


下载文件

下载适合您平台文件。如果您不确定要选择哪一个,请了解更多关于 安装包 的信息。

源代码发行版

pyramid_duh-0.1.2.tar.gz (11.0 kB 查看哈希值)

上传时间 源代码

构建发行版

pyramid_duh-0.1.2-py2.py3-none-any.whl (13.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下组织支持