使用 templatetags 方法的 Django 自定义过滤器不起作用!异常值为:无效过滤器:'dict_'
Posted
技术标签:
【中文标题】使用 templatetags 方法的 Django 自定义过滤器不起作用!异常值为:无效过滤器:\'dict_\'【英文标题】:Django Custom Filters using templatetags method isn't working! Exception Value is : Invalid filter: 'dict_'使用 templatetags 方法的 Django 自定义过滤器不起作用!异常值为:无效过滤器:'dict_' 【发布时间】:2016-03-03 05:20:25 【问题描述】:我的 Django 应用程序具有以下结构。
实际上是发送“dict-data”以渲染到模板文件,其中 dict 中的字段键之一以“_id”开头。 Django 模板无法检索下划线键值,因此使用自定义过滤器来实现这一点。 [使用templatetags文件夹中的这个文件https://github.com/halfnibble/django-underscore-filters/blob/master/underscore_filters/templatetags/underscore_tags.py]
.
├── configure.py
├── manage.py
├── static
└── app_name
├── abc
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── xyz
│ ├── admin.py
│ ├── forms.py
│ ├── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── __init__.py
├── settings.py
├── templates
├── templatetags
│ ├── __init__.py
│ └── underscore_filters.py
├── urls.py
├── utils.py
├── views.py
└── wsgi.py
在模板文件中作为 mycustomdict|dict_:'_id' 使用时,出现错误。 [使用 % load underscore_filters 加载自定义过滤器]
Django Version: 1.8.7
Exception Type: TemplateSyntaxError
Exception Value:
Invalid filter: 'dict_'
Exception Location: /home/satish/env/django/lib/python3.4/site-packages/django/template/base.py in find_filter, line 430
Python Executable: /home/satish/env/django/bin/python
我认为 templatetags 文件夹中的过滤器没有加载。解决这个问题的任何帮助都会非常棒!
提前致谢!!
【问题讨论】:
【参考方案1】:templatetags 目录需要在应用内,并且该应用需要添加到 INSTALLED_APPS。
【讨论】:
嗨,Daniel,实际上,templatetags 仅放置在 xyz 文件夹中,正在检查所有可能性并保存在项目文件夹中。 [在 INSTALLED_APPS 中也添加了。] 它甚至不能那样工作!!了解过滤器未加载原因的步骤是什么?以上是关于使用 templatetags 方法的 Django 自定义过滤器不起作用!异常值为:无效过滤器:'dict_'的主要内容,如果未能解决你的问题,请参考以下文章
Django 1.10.1 'my_templatetag' 不是注册标签库。必须是以下之一: