我有一个python项目,我使用Django模板来生成C++源代码。如何定义自定义过滤器以最小化django模板的使用?
我选择了Django是因为模板语言的限制性很强,并且有一个非常大的社区,使最终用户开发人员可以轻松地使用和获取帮助。
我无法为我的项目添加自定义过滤器(将一组类型名称转换为另一个类型名称),因为我没有完成正常的django设置。
相反:
from django.template import Context, Template
import django
if not django.conf.settings.configured : django.conf.settings.configure()
django.setup()
让我用Django模板完美,但不能定义自定义过滤器。
我的自定义过滤器被称为ctypes_filters.py,我引用它的模板
{% load ctypes_filters %}
以下错误运行我的生成脚本结果:
django.template.base.TemplateSyntaxError: 'ctypes_filters' is not a valid tag library: Template library ctypes_filters not found, tried
django.templatetags.ctypes_filters
我怎样才能到的Django找到没有设置完整的Django项目(数据库定义等)的过滤器?
我知道其他模板解决方案可供选择(和可能更轻质的),但我真的很热衷于使用Django的简单和优雅的模板。
看起来不错。我仍然收到一个错误,可能是因为它不在cwd中查看: 'django.template.base.TemplateSyntaxError:'ctypes_filter'不是有效的标记库:找不到模板库ctypes_filter,尝试过django.templatetags.ctypes_filter ,django_apps.templatetags.ctypes_filter” – jbcoe 2015-02-24 01:52:41
我添加django_apps/templatetags/ctypes_filter.py和创建两个目录中的空__init__.py。现在按要求工作。 谢谢。 – jbcoe 2015-02-24 02:07:30