我有一個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