/ tableapp / index /'verbose_names'上的Django 1.11.0 TemplateSyntaxError不是注册的标记库。必须是以下之一:

时间:2018-07-10 18:47:39

标签: django templatetags

我正在从事Django项目。当我使用python 3.5在Windows上运行服务器时 对我来说很好。但是在Linux上,使用python 2.5无法正常工作。 它给出以下错误:

<input type="text"
[ngModel]="myCurrencyVar | number:'1.0-2'"
(ngModelChange)="myCurrencyVar=$event;update()">

verbose_names.py在文件夹tableapp / templatetags /

中定义
TemplateSyntaxError at /tableapp/index/

'verbose_names' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_static
admin_urls
cache
i18n
l10n
log
static
staticfiles
tz
widget_tweaks

模板(configuration.html)在/ tableapp / index /呈现:

from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()


@register.simple_tag
def get_verbose_field_name(instance, field_name):
    """
    Returns verbose_name for a field.
    """
    return instance._meta.get_field(field_name).verbose_name.title()


@register.simple_tag
@stringfilter
def trim(value):
    return value.lower().strip()


@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

我在下面的问题上用谷歌搜索了所有问题的答案,但没有一个起作用,我还不知道这个问题。

Django 1.10.1 'my_templatetag' is not a registered tag library. Must be one of:

1 个答案:

答案 0 :(得分:0)

按照惯例,模板标记应类似于 your_app / templatetags /,它将包含两个文件,一个是 init .py,另一个是您的模板标记文件,假设my_tag.py 然后,您必须将其加载到模板中 {%load my_tag%}