无法在Django 2.2.5中加载templatetag

时间:2019-12-26 08:34:38

标签: python django

我正在使用Django 2.2.5。使用添加自定义模板标签的默认方法不起作用(创建文件夹templatetags__init__tags python文件)。

@register.simple_tag
def url_replace(request, field, value):

    dict_ = request.GET.copy()

    dict_[field] = value

    return dict_.urlencode()

试图将其添加到选项-项目开始,但仍然'unresolved library'

'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
                'libraries': {
                   'replace_url': 'templatetags.replace_url',
            }

replace_url-是python文件。

{% load replace_url %} in html。

django 2.2是否有特殊功能?

3 个答案:

答案 0 :(得分:0)

your_app/
    __init__.py
    models.py
    ...
    templatetags/
        __init__.py
        your_tags.py

这样,您可以安排文件夹,然后在模板中调用它,如下所示:

{% load your_tags %}

{% url_replace %}

答案 1 :(得分:0)

您发布的代码中的标记名称是url_replace,但是您尝试加载到模板中的标记是replace_url ...是模板中的标记应改为url_replace吗?

答案 2 :(得分:0)

您是否尝试过更换

page.

使用

'replace_url': 'templatetags.replace_url',

它可能需要指向模块的完整点划线...