跳转到主要内容

通过Fanstatic自动包含deform资源。

项目描述

Deform Autoneed README

一个简单的包,可以将任何 deform 需求转换为 Fanstatic 资源并提供它们。

一些想法来自 js.deform,但这个包在很多方面是其完全相反:它只提供deform附带的内容。因此,它应该与任何版本的deform兼容。

https://travis-ci.org/robinharms/deform_autoneed.svg?branch=master
测试了以下deform/Python版本
  • Python 2.7, 3.3, 3.6

  • deform 0.9.9

  • deform 2.0a.2

  • deform 2.0.3

它应该与大多数fanstatic版本兼容,包括当前的稳定版0.16和未来的1.0x。

此包还应与相对API稳定的未来版本的deform一起使用。应该是框架无关的,并且与任何Fanstatic工作兼容。(任何WSGI)

简单用法

在您的应用启动过程中,只需运行

from deform_autoneed import includeme
includeme()

或者如果您使用Pyramid框架

config.include('deform_autoneed')

这会将任何变形小部件可能需要的资源填充到本地注册表中,并修补变形渲染函数,以便它们自动包含在内。

就这些!

在其他页面中使用注册资源

deform 1 依赖于 jQuery,而 deform 2 依赖于 jQuery 和 Bootstrap。如果您想在任何不是表单的其他视图中使用这些基础包,请简单地进行以下操作

from deform_autoneed import need_lib

need_lib('basic')

基本意味着 deform 本身的任何基础要求。您还可以在此处调用其他 deform 依赖项。基本上,您可以在: deform.widget.default_resources 中使用 deforms 默认资源注册表中的任何密钥。

替换资源要求

如果您想用其他东西替换资源, ResourceRegistry 有一个方法可以做到这一点。它将对可能依赖于该资源的所有内容产生影响。

示例

deforms form.css 是一个已注册的要求。我们将用我们自己的 css 替换它,其中 our_css 是一个 fanstatic 资源对象。

resource_registry.replace_resource(‘deform:static/css/form.css’, our_css)

注意,replace_resource 接受 fanstatic.Resource``-对象或带有包名的路径作为参数,如 ‘deform:static/css/form.css’。

注册自定义小部件的资源

如果您在 deform 中使用任何需要非标准插件的 widgets/forms,您可以在该包中注册它们以包含它们。

首先,为您资源创建一个 Fanstatic 库并在 setup.py 中创建一个入口点。(有关此信息,请参阅 Fanstatic 文档)

from fanstatic import Library

my_lib = Library('my_lib', 'my/static')

将您的库添加到 autoneed 的注册表中

from deform_autoneed import resource_registry

resource_registry.libraries['my_package_name'] = my_lib

如果您已以与 deform.widget.default_resources 相同的方式构建了需求,并且您的静态资源目录名为 static,则可以调用 resources 的 populate 方法来自动创建您的包。

resource_registry.populate_from_resources(your_resources)

如果不这样,您可以使用 create_requirement_for 方法简单地添加需求。

resource_registry.create_requirement_for('my_special_widget',
                                         ['my_package_name:my/static/css/cute.css', 'my_package_name:my/static/js/annoying.js'],
                                         )

换句话说,此示例的目录布局如下,其中静态目录是您的 fanstatic 库的基础。

  • my_package_name/

    • my/

      • static/

        • css/

        • js/

然后,自定义小部件将需要称为‘my_special_widget’的东西。(请参阅 deform 文档中的自定义小部件)

之后,每当 deform 需要它们时,您的依赖项将自动包含在内。

错误、联系方式等...

更改日志

0.2.3b (2017-02-08)

  • 修复 Windows 路径问题。虽然 Windows 未经过测试和维护,但现在应该可以工作。[sassur]

0.2.2b (2014-04-08)

  • 资源依赖项考虑了 deform 列出的顺序。具有多个列出资源的 widget 需求将按顺序相互依赖。

0.2.1b (2014-04-08)

  • 注意:remove_resources 已更改为 remove_resource - 它现在只接受一个资源。

  • 替换资源可能需要替换依赖项。现在这是 replace_resourceremove_resource 的默认选项。

0.2b (2014-03-25)

  • 添加了用于交互和替换资源的新方法。

  • ResourceRegistry 对象现在跟踪 fanstatic.ResourcesResourceRegistry.requirements 中,而不是文件路径。

  • create_requirement_for 现在从 fanstatic 库中确定正确的路径,因此只需指定正确的包路径,如: package_name:some/dir/with/file.js

0.1b (2014-03-21)

  • 初始版本

项目详情


下载文件

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

源分布

deform_autoneed-0.2.3b0.tar.gz (10.1 kB 查看散列)

上传时间

由以下支持