【问题标题】:django:error with the custom inclusiong_tag, error info:Invalid block tagdjango:自定义包含g_tag的错误,错误信息:无效的块标签
【发布时间】:2010-12-30 16:18:32
【问题描述】:

我正在尝试在 django 中编写一个自定义的包含标签。

按照http://docs.djangoproject.com/en/dev/howto/custom-template-tags/上的例子

我只是在写

from django import template
from libmas import models

register = template.Library()

@register.inclusion_tag('records.html')
def display_records(book_id):

    book = models.book.objects.get(id__exact=book_id)
    records = models.objects.filter(books=book)[0:10]

    return {'records':records}

但我得到了一个

Invalid block tag: 'libmas_tags' 

ie 中的错误。

'records.html' 文件:

{% for record in records %}
<blockquote>{{record.id}}</blockquote>
{% endfor %}

我的另一个 html 文件是:

{% extends "admin/change_form.html" %}

{% libmas_tags %}

{% block after_field_sets %}

{% if object_id %}
{% display_records object_id %}
{% endif %}

{% endlock %}

【问题讨论】:

    标签: python django


    【解决方案1】:

    问题在于您的模板。它的电话{% libmas_tags %}。您是否创建了名为 libmas_tags 的模板标签?如果是这样,您可能需要将其更改为

    {% load libmas_tags %}
    

    【讨论】:

      【解决方案2】:

      libmas_tags 是什么?您定义的标记称为display_records,这就是您应该在模板中调用的标记。如果标签文件名为 libmas_tags,您需要先加载它,正如 czarchaic 指出的那样。

      【讨论】:

      • libmas_tags 是一个名为 libmas_tag.py 的文件。现在我修改了:将 libmas_tag 加载为 crarchaic。但我也得到一个新错误:'libmas_tags' 不是有效的标签库:无法从 django.templatetags.libmas_tags 加载模板库,无法导入名称模型
      猜你喜欢
      • 2018-01-31
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      相关资源
      最近更新 更多