deform的Fanstatic打包
项目描述
js.deform
简介
这需要您的 Web 框架与 fanstatic 之间的集成,并确保原始资源(位于 js.deform 中 resources 目录的)发布到某个 URL。
包含的资源
与大多数 js. 包不同,js.deform 并不包含任何资源本身。它从 deform 中引用资源。由 js.deform 提供的资源只有 deform.js、form.css 和 beautify.css。所有其他作为 deform 分发一部分的资源都可以单独使用
jQueryUI (http://pypi.python.org/pypi/js.jqueryui)
jQueryUI Timepicker 插件 (http://pypi.python.org/pypi/js.jquery_timepicker_addon)
jQuery Form (http://pypi.python.org/pypi/js.jquery_form)
jquery.maskedinput (http://pypi.python.org/pypi/js.jquery_maskedinput)
jquery-maskmoney (http://pypi.python.org/pypi/js.jquery_maskmoney)
jQuery Sortable (http://pypi.python.org/pypi/js.jquery-sortable)
TinyMCE (http://pypi.python.org/pypi/js.tinymce)
Typeahead (http://pypi.python.org/pypi/js.typeahead)
如何使用?
JS
您可以从 js.deform 中导入 deform_js 并在需要包含这些资源的页面位置使用它
>>> from js.deform import deform_js >>> deform_js.need()
CSS
您可以从 js.deform 中导入 deform_css 并在需要包含这些资源的页面位置使用它
>>> from js.deform import deform_css >>> deform_css.need()
全部
您可以从 js.deform 中导入 deform 并在需要包含这些资源的页面位置使用它
>>> from js.deform import deform >>> deform.need()
这会自动包含 Deform 的所有 CSS 和 JS,相当于需要上面描述的 deform_js 和 deform_css。
自动依赖资源
您可以通过使用本包提供的 auto_need 函数来避免手动导入并使用 need() 您 Deform 表单的每个 Fanstatic 依赖项。
>>> import js.deform >>> import colander >>> import deform>>> schema = colander.Schema() >>> form = deform.Form(schema) >>> js.deform.auto_need(form)
通过以上操作,任何小部件要求 - 包括 Deform 自身的 - 都将包含在 Fanstatic 中。
因此,您可能有一个表单需要其中一个字段使用 deform.widget.RichTextWidget。此类小部件需要与 TinyMCE 相关的资源。 js.deform.auto_need 将使用 js.tinymce 满足此需求。
以下示例将更好地说明这一点。
初始化 Fanstatic 以查看资源包含情况
>>> import fanstatic >>> dummy = fanstatic.init_needed() >>> len(fanstatic.get_needed().resources()) 0
创建一个演示模式和表单
>>> schema = colander.Schema() >>> node = colander.SchemaNode(colander.String(), ... widget=deform.widget.RichTextWidget()) >>> schema.add(node) >>> form = deform.Form(schema)
检查表单的资源要求
>>> form.get_widget_requirements() [('deform', None), ('tinymce', None)]
让 auto_need 自动包含资源
>>> js.deform.auto_need(form) >>> needed = fanstatic.get_needed()
现在我们可以看到已包含的资源
>>> from js.jquery import jquery >>> jquery in needed.resources() True >>> from js.tinymce import tinymce >>> tinymce in needed.resources() True >>> from js.deform import deform_js >>> deform_js in needed.resources() True
在相应配置Fanstatic后,上述资源将自动包含在您的页面上。
修补变形以自动需要小部件的资源
如果您不希望在应用程序中的每个表单实例上调用auto_need(form),则可以在启动应用程序时修补deform(例如)以自动在需要的地方need()一切。如果您使用Pyramid,将js.deform添加到pyramid.includes就足够了。
让我们重新初始化fanstatic…
>>> dummy = fanstatic.init_needed() >>> len(fanstatic.get_needed().resources()) 0
…这次修补deform
>>> from js.deform import includeme >>> includeme()
请注意,您只需要这样做一次,例如在应用程序启动时。
现在像上面那样做,但不要调用auto_need。请注意,在渲染表单之前不会发出need()调用。
>>> schema = colander.Schema() >>> node = colander.SchemaNode(colander.String(), ... widget=deform.widget.RichTextWidget()) >>> schema.add(node) >>> form = deform.Form(schema) >>> needed = fanstatic.get_needed() >>> len(needed.resources()) 0 >>> html = form.render() >>> needed = fanstatic.get_needed()
再次为我们自动包含所有资源
>>> jquery in needed.resources() True >>> tinymce in needed.resources() True >>> deform_js in needed.resources() True
变更
2.0.14 (2020-09-08)
支持Python 3.6至3.9以及PyPy3。
放弃支持Python 3.4和3.5。
适应deform >= 2.0.11。
2.0.3 - 2016-11-20
依赖deform 2.0.3。
2.0a2-3 2015-01-31
添加select2映射。
2.0a2-1 2014-05-13
使用deform捆绑的类型提示而不是js.typeahead,因为后者在Python 2.6上失败。
2.0a2 2014-05-13
依赖deform 2.0a2(Bootstrap 3)。这**不是向下兼容的,并且会与旧deform冲突**!
0.9.8 - 2013-11-19
通过js.modernizr解决modernizr依赖关系;这是在deform-0.9.6中引入的。
0.9.7 - 2013-03-14
将deform_basic添加到可用的资源分组中。使用此方法仅包括基本的CSS和JavaScript,不包括“美化”CSS。[davidjb]
0.9.6 - 2013-02-23
没有变更。
0.9.5-6
修复了导致在ValidationFailure上无法加载要求的错误(感谢icemac!)。
0.9.5-5
在setup.py中包含js.jquery_form依赖项(感谢icemac!)。
0.9.5-4
将resource_mapping中的所有项都改为列表,以便第三方包(例如kotti_tinymce)可以追加资源。
0.9.5-3
添加一个includeme,以方便在Pyramid项目中使用。
将修补改为仅修补deform.form.Form,而不是单个小部件。
0.9.5-2
为自动包括给定Deform表单实例的Fanstatic资源添加auto_need方法。
为自动包括Fanstatic资源添加patch_deform函数。当deform获得我们可以订阅的FormRender事件时,此功能将消失。
0.9.5-1
将CSS资源单独以及与JS资源组合在一起提供。
0.9.5
初始版本。
项目详情
js.deform-2.0.14.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | de89245451f46bce274af1390d8080664542539b5ff01d2728ecc5392867774e |
|
MD5 | c62067d644ac77c77c031d32d532f4ad |
|
BLAKE2b-256 | ebbb386559092bc5c27f54d8b815a647a6f1e984b916d936a750516e96228c9a |
js.deform-2.0.14-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ecd6e00c1d438e211c08684ae26ea4b1d6a224d34022c632446c975ada254ad9 |
|
MD5 | dd67411fcf95e1742e4c50024251644f |
|
BLAKE2b-256 | a4ae94ab8eab7f344c08bf5b730b1d09f84f497eea09fda23cac7d5993a14d28 |