一个django fitemplate字段,其中包含管理器,用于返回已呈现或未呈现的模板。
django-template-field的Python项目详细描述
带有管理器的django模板字段,用于返回呈现的模板。
快速启动
安装django模板字段:
pip install django-template-field
然后在项目中使用:
from django.db import models from templatefield import fields, managers class TemplatedText(models.Model): value = fields.TemplateTextField() # Manager that returns rendered templates. This will be the default # manager since it is first. Now, when accessed via `Related Models`_ # this field will also be rendered. objects_rendered = managers.RenderTemplateManager() # Django's default manager returns unrendered templates. objects_unrendered = models.Manager()
可以在settings中添加额外的上下文,例如:
TEMPLATE_FIELD_CONTEXT = { ‘template_var’: value }
上下文也可以添加到查询集,如so:
TemplatedText.objects_rendered.with_context({‘template_var2’: value2})
如果以RenderTemplateManager作为默认管理器转储fixture, django将呈现导出的数据。为了解决这个问题,创建一个备用的 具有以下设置的项目的设置文件:
TEMPLATE_FIELD_RENDER = False
然后您可以像这样转储未渲染的数据:
./manage.py dumpdata myapp.mymodel –settings=myapp.dump_settings
管理
使用RenderTemplateManager作为默认值会产生不幸的副作用 在django管理中呈现字段,因此我们提供了一个 你可以继承来解决这个问题。示例:
from templatefield import admin
- class TemplatedTextAdmin(admin.UnrenderedAdmin):
- …
运行测试
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install -r requirements/test.txt (myenv) $ python runtests.py
历史记录
0.3.1(2016-01-11)
- 添加设置以禁用渲染
0.3.0(2016-01-06)
- 在相关字段访问中启用渲染
0.2.0(2015-10-23)
- 使用上下文将添加到renderTemplateManager
0.1.0(2015-10-02)
- pypi上的第一个版本。