wsgi中间件,用于操作html头部中的css和javascript。

zif.headincludes的Python项目详细描述


有关详细信息,请参阅“src/zif/headincludes/readme.txt”。

释放量

0.4(2010/03/12)

添加了测试和构建配置。 现在正确地做需求的需求。 多亏了一位匿名投稿人。

0.3(2007/05/25)

发布以包含分发中丢失的zcml文件。

0.2(2007/04/13)

正确的版本自述文件。

0.1(2007/04/13)

初次发布。

详细文档

zif.头部包括

这是一个wsgi中间件应用程序,用于 paste.deploy、zope.paste和zope3。

它用作wsgi过滤器,可以动态创建<;脚本>;和 &HTML文档头内的标记。它是设计的 对于来自zope3应用程序的输出,但是wsgi过滤器本身,在 headincluder.py没有zope3依赖项。

其思想是文档的子对象可能单独需要特殊的 资源,但很难知道是否需要资源 多次动态生成文档。对于Zope3, headincludes取代了zc.resourcebrary的功能,它 也实现了这个想法。事实上,主要是因为头部包括 从zc.resourcelibrary“借用”代码,可以安装它们 并排,但一次只能使用一个,因为它们都是 为zcml和 &;lt;tal:页面模板的资源库语句。

headincludes通过在wsgi环境中创建密钥来工作, “wsgi.html.head.includes”是需要 在当前请求的HTML文档头中引用。 应用程序通过附加url来注册对引用的需要 以供参考。以“.css”和“.js”结尾的URL 该列表触发中间件插入&;lt;style>;或&;lt;script>; 应用程序完成后标记到文档的<;页眉>;。 正在创建HTML。

headincludes尽量保持与 资源库。need()函数已重写,并使用 headincludes版本只需更改导入 陈述。“资源库”语句也仍然 功能性的。

headincludes允许的一个新特性是任意包含而不需要 注册资源。url可以放在includes列表中 任何时候都可以访问request.environ。只需附加任何所需的 列表的URL,例如

try:
    request.environ['wsgi.html.head.includes'].append('/scripts/my_url.js')
except KeyError:
    (handle case when the filter is not available)

或者,headincludes有一个提供iHeadincludeRegistration的实用程序:

from zope.component import getUtility
from zif.headincludes.interfaces import IHeadIncludeRegistration
registrar = getUtility(IHeadIncludeRegistration)
if registrar:
    registrar.register('scripts/my_url.js')

依赖性

对于zope3,headincludes需要sidnei da silva的zope.paste

zope.paste可在http://svn.zope.org/zope.paste/trunk/

cd [path.to.zope3.src.directory]/zope
svn co http://svn.zope.org/zope.paste/trunk/ paste

zope.paste的说明位于http://awkly.org/

zope.paste需要paste.deploy。可以从奶酪中获得paste.deploy 购物。假设您安装了安装工具,

sudo easy_install.py PasteDeploy

这个(headincludes)包可以解压并安装在python上的任何地方 路径。

设置

按照sidnei的说明设置zope.paste。它包括 将常用的zope.paste-configure.zcml文件放入[zope3 instance]/etc/site包中。 在[zope3 instance]/etc/zope.conf中还有一个参数要更改。 新的twist是[zope3 instance]/etc中的paste.ini文件

对于zope3,复制headincludes-configure.zcml和 headincludes-meta.zcml文件到[zope3 instance]/etc/package includes 目录。

paste.ini文件的示例如下:

[pipeline:Paste.Main]
pipeline = headincludes main

[app:main]
paste.app_factory = zope.paste.application:zope_publisher_app_factory


[filter:headincludes]
paste.filter_factory=zif.headincludes.headincluder:filter_factory
location=top

配置

上面的paste.ini文件显示了 头部包括

  • 位置在<;head>;中需要新标记的位置。“顶部”是 默认设置,并将新脚本和/或样式标记放置在<;head>; 元素。任何其他值都会将标记放在标记前面。

下载

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javagae/JPA/Datastore如何查询无主列表   java从xml中读取未知元素   java如何在控制台上显示MavReplugin单元测试覆盖率报告   java什么被认为是遍历LDAP DIT的正确方法?   Eclipse(Java)在创建了一个新包之后,我无法向其中添加源文件   java new REngine启动并立即停止   java Android:如何从保存在SQLite数据库中的listview中删除项目?   找不到java Gradle DSL方法:“compile()”错误   java使用POI获取具有特定列名的每一行中的值   java解析JSON文件   java中断for循环,返回4个结果,而不是2个   LDAP处理过程中发生java未分类异常;嵌套的异常是javax。命名。NamingException   当表单在基于spring3注释的控制器中验证失败时,java引用数据将丢失   java Android,从web获取数据并更新UI(多线程和MVC设计模式)   用于OS X Yosemite的java优化Swing程序