将assetgen与金字塔框架集成。
pyramid_assetgen的Python项目详细描述
#棱锥体assetgen
[棱锥体assetgen][]允许您将[assetgen][]与一个[棱锥体][
tl;dr
包含包,设置一个自定义请求工厂(使用"assetgenrequestmixin"作为您继承的*第一个*类):
class myrequest(assetgenrequestmixin,request):pass
config.set_request_factory(myrequest)
config.include('pyramid_assetgen')
使用"add_assetgen_manifest"配置指令将assetgen
清单文件与静态目录关联:
config.add_static_view('static,'mypkg:static')
UILD工具。在生产中使用时,您可以
启用其哈希模式以输出文件名中包含哈希的文件。这意味着当你改变一个文件时(例如,可能更新你网站的样式表)
它的名字会改变。
呃)。另一方面,这意味着您需要更新模板和/或视图
代码,以提供正确的url来解析为散列文件名。当您使用[金字塔](第页)时,这是相对容易的,因为您已经在使用动态
函数来生成静态URL:`请求.静态URL`.
正确的哈希文件名。
您可以使用它将[assetgen]()与[pyramid]()应用程序集成,而无需更改任何模板、查看代码或学习任何新的api。
,则需要存在
文件,否则应用程序将抛出异常(在
配置时)。因此,您应该使用以下方法构建清单文件:
assetgen etc/assetgen.yaml--force
pserve etc/development.ini--reload
_文件回调(查看清单文件)
(可能
在您的主/wsgi应用程序工厂函数中可用),我们可以添加指令
使用:
from pyramide_assetgen import add_assetgen_manifest
config.add_directive('add_assetgen_manifest',add_assetgen_manifest)
或更简单的:
config.incl.ude('pyramidEnassetGen')
此外,您还需要使用扩展默认请求工厂,例如:
from pyramidIn.request import request
from pyramidEnassetGen import assetGenequestMixin
class myrequest(assetGenequestMixin,request):
pass
config.set_request_factory(myrequest)
(注意,
请求工厂类定义中的"assetgenrequestmixin"参数必须位于**之前**。否则,"static_url"方法将不会被重写)。使用
"config.add_static_view"打开静态目录,现在可以将assetgen清单与其关联:
config.add_static_view('static','mypkg:static')
config.add_assetgen_manifest('mypkg:static')
这将在"mypkg:static/assets.js"中查找清单文件关于。如果
文件在其他地方,请使用:
config.add_assetgen_manifest('mypkg:static',manifest='/foo/bar.json')
foo-fdsf465ds4f5667ds4ds4ds5674567f4s5674567f4s7.js'}
>request.static路径('mypkg:static/foo.js')
>request.static路径('mypkg:static/foo.js/mypkg:static/foo/foo-fdsf465ds4f567456567f4s5674567f4s5674567f4s567474567f4f4f4ds4f56f56f5657ds4ds4f56f56f5657ds4ds4f56f56f56f56f56.2使用,例如:
$../bin/nosetests--cover package=src/pyramid嫒assetgen--cover erase--with coverage--with doctest
……。
name stmts miss cover missing
——/__初始值59 0 100%
SRC/棱锥体组件/测试值/初始值58 0 100%
总值117 0 100%
————
在0.552s中运行了7个测试
[assetgen]:http://github.com/tav/assetgen
[pyramid]:http://pypi.python.org/pypi/pyramid
[pyramid\u assetgen]:http://github.com/thruflo/pyramid\u assetgen
[棱锥体assetgen][]允许您将[assetgen][]与一个[棱锥体][
tl;dr
包含包,设置一个自定义请求工厂(使用"assetgenrequestmixin"作为您继承的*第一个*类):
class myrequest(assetgenrequestmixin,request):pass
config.set_request_factory(myrequest)
config.include('pyramid_assetgen')
使用"add_assetgen_manifest"配置指令将assetgen
清单文件与静态目录关联:
config.add_static_view('static,'mypkg:static')
UILD工具。在生产中使用时,您可以
启用其哈希模式以输出文件名中包含哈希的文件。这意味着当你改变一个文件时(例如,可能更新你网站的样式表)
它的名字会改变。
呃)。另一方面,这意味着您需要更新模板和/或视图
代码,以提供正确的url来解析为散列文件名。当您使用[金字塔](第页)时,这是相对容易的,因为您已经在使用动态
函数来生成静态URL:`请求.静态URL`.
正确的哈希文件名。
您可以使用它将[assetgen]()与[pyramid]()应用程序集成,而无需更改任何模板、查看代码或学习任何新的api。
,则需要存在
文件,否则应用程序将抛出异常(在
配置时)。因此,您应该使用以下方法构建清单文件:
assetgen etc/assetgen.yaml--force
pserve etc/development.ini--reload
_文件回调(查看清单文件)
(可能
在您的主/wsgi应用程序工厂函数中可用),我们可以添加指令
使用:
from pyramide_assetgen import add_assetgen_manifest
config.add_directive('add_assetgen_manifest',add_assetgen_manifest)
或更简单的:
config.incl.ude('pyramidEnassetGen')
此外,您还需要使用扩展默认请求工厂,例如:
from pyramidIn.request import request
from pyramidEnassetGen import assetGenequestMixin
class myrequest(assetGenequestMixin,request):
pass
config.set_request_factory(myrequest)
(注意,
请求工厂类定义中的"assetgenrequestmixin"参数必须位于**之前**。否则,"static_url"方法将不会被重写)。使用
"config.add_static_view"打开静态目录,现在可以将assetgen清单与其关联:
config.add_static_view('static','mypkg:static')
config.add_assetgen_manifest('mypkg:static')
这将在"mypkg:static/assets.js"中查找清单文件关于。如果
文件在其他地方,请使用:
config.add_assetgen_manifest('mypkg:static',manifest='/foo/bar.json')
foo-fdsf465ds4f5667ds4ds4ds5674567f4s5674567f4s7.js'}
>request.static路径('mypkg:static/foo.js')
>request.static路径('mypkg:static/foo.js/mypkg:static/foo/foo-fdsf465ds4f567456567f4s5674567f4s5674567f4s567474567f4f4f4ds4f56f56f5657ds4ds4f56f56f5657ds4ds4f56f56f56f56f56.2使用,例如:
$../bin/nosetests--cover package=src/pyramid嫒assetgen--cover erase--with coverage--with doctest
……。
name stmts miss cover missing
——/__初始值59 0 100%
SRC/棱锥体组件/测试值/初始值58 0 100%
总值117 0 100%
————
在0.552s中运行了7个测试
[assetgen]:http://github.com/tav/assetgen
[pyramid]:http://pypi.python.org/pypi/pyramid
[pyramid\u assetgen]:http://github.com/thruflo/pyramid\u assetgen