pyramid_starter_seed 是如何工作的¶
请注意,如果要将 Pyramid 应用程序与 Yeoman workflow 集成,可以选择不同的策略。所以 Pyramid 的启动方式只是一种可能的实现。
.ini configurations¶
Production vs development .ini configurations.
生产:
1[app:main]
2use = egg:pyramid_starter_seed
3
4PRODUCTION = true
5minify = dist
发展:
1[app:main]
2use = egg:pyramid_starter_seed
3
4PRODUCTION = false
5minify = app
查看可调用¶
根据生产与开发设置,视图可调用获得不同的渲染器:
1from pyramid.view import view_config
2
3@view_config(route_name='home', renderer='webapp/%s/index.html')
4def my_view(request):
5 return {'project': 'pyramid_starter_seed'}
Since there is no .html renderer, pyramid_starter_seed register a custom Pyramid renderer based on ZPT/Chameleon. 见 .html renderer
模板¶
CSS和JavaScript¶
1<tal:production tal:condition="production">
2 <script src="${request.static_url('pyramid_starter_seed:webapp/%s/scripts/plugins.js' % minify)}">
3 </script>
4</tal:production>
5<tal:not_production tal:condition="not:production">
6 <script src="${request.static_url('pyramid_starter_seed:webapp/%s/bower_components/bootstrap/js/alert.js' % minify)}">
7 </script>
8 <script src="${request.static_url('pyramid_starter_seed:webapp/%s/bower_components/bootstrap/js/dropdown.js' % minify)}">
9 </script>
10</tal:not_production>
11<!-- build:js scripts/plugins.js -->
12<tal:comment replace="nothing">
13 <!-- DO NOT REMOVE this block (minifier) -->
14 <script src="./bower_components/bootstrap/js/alert.js"></script>
15 <script src="./bower_components/bootstrap/js/dropdown.js"></script>
16</tal:comment>
17<!-- endbuild -->
Note: the above verbose syntax could be avoided hacking with the grunt-bridge task. 见 grunt-bridge .
图像¶
<img class="logo img-responsive"
src="${request.static_url('pyramid_starter_seed:webapp/%s/images/pyramid.png' % minify)}"
alt="pyramid web framework" />
How to fork pyramid_starter_seed¶
取Pyramid种子,个性化,然后克隆它!
Pyramid 启动种子可以提取,个性化和释放与另一个名字。因此,其他开发人员可以引导、构建、发布和分发自己的入门模板,而无需编写新的包模板生成器。例如,您可以创建一个基于sqlachemy、zodb nosql或由一个JavaScript框架(如angularJS等)提供支持的更加固定的starter seed。
克隆方法应该加快基于Pyramid的新的、更进化的包的创建过程,也应该加快那些不热衷于编写自己的可重用脚手架模板的人。
因此,如果您想要发布基于 pyramid_starter_seed
的自定义模板,您必须使用以下语法调用名为 pyramid_starter_seed_clone
的控制台脚本(显然,您必须在 Pyramid pyramid_starter_seed
的根目录之外调用此命令):
$ YOUR_VIRTUALENV_PYTHON_PATH/bin/pyramid_starter_seed_clone new_template
因此,您将得到一个完美的重命名克隆新模板。
克隆控制台脚本在某些情况下可能不起作用,只在您选择包含保留字的新包名称或插件依赖项的名称时起作用,但手动修复或改进控制台脚本应该非常容易。但是,如果您提供测试,那么您可以立即检查克隆过程中是否发生了问题并进行修复。
How pyramid_starter_seed works under the hood¶
关于原文(第3部分)的更多详细说明: