将网站副本作为标记格式文件的目录进行管理。将文件作为副本插入Django模板。
django-copyblock的Python项目详细描述
模版是出于我想把复制品分给一个网站的愿望 我正在从网站模板工作。比如欢迎信, 表单的简介副本等。这是副本我想能够调整 随着时间的推移,无需重新部署整个站点即可轻松完成 发生了。我想要的是一个类似gettext的系统,但是没有.po 文件,奇怪的语法,和一个separate应用程序来生成正确的文件。
我想要的是非常简单的:一个文本文件目录,可选的 在Markdown中,可以使用 模板标签。这就是copyblock所做的。
安装
来自PYPI:
% pip install django-copyblock
来自Github:
% pip install -e git://github.com/sivy/django-copyblock.git#egg=copyblock
用法
为复制块文件创建根目录:
% mkdir copy/dir
将此路径添加到设置文件:
COPYBLOCK_ROOT='path/to/your/copy/dir'
在您的模板中:
{% copyblock filename %}
这将执行以下操作:
- 查找copy/dir/filename.markdown
- 运行文件filename.markdown through markdown
- 缓存输出以备将来查找
- 在渲染模板中插入输出
现在,copyblock只做降价。如果你的副本没有降价 (纯文本),可以将nomarkdown参数传递给 模板标记:
{% copyblock filename nomarkdown %}
另外,如果不想使用内存缓存(从文件加载副本 每次,都可以进行复制编辑),传入nocache参数:
{% copyblock filename nocache %}
在处理站点复制时,关闭复制块会有帮助 完全缓存(insettings.py):
COPYBLOCK_CACHE=False
提供复制块文件
CopyBlock提供了一个简单的应用程序,可以在 所选URL端点上的copyblock\u根:
在settings.py中,将模板名(在主应用程序中)设置为 通过以下方式呈现标记文件:
COPYBLOCK_TEMPLATE='template.html'
此模板应包含一个outputtemplate变量,如下所示:
{{ output|safe }}
在urls.py中,添加:
urlpatterns += patterns('', url(r'^site/(?P<path>.+)', include('copyblock.urls', namespace="copyblock", app_name='copyblock')), )
这条路可以是你选择的任何一条。
现在,访问中的http://mysite.example.com/site/name-of-markdown-file 您的浏览器将加载
@待办事项
- 添加对其他文本格式,甚至HTML(建议, 请求?steve@wallrazer.com)
- 将在^{tt7}中呈现任何文件的视图$ 通过站点的基本模板(base.html)在一个路径下 由urls.py确定。即,/path/to/copy/dir/foo.markdown 可以在yoursite.com/somepath/foo查看。或者,什么 像那样。[完成]