django:自定义inclusiong_tag出错,错误信息:无效的块标记

时间:2009-12-29 04:06:20

标签: python django

我正在尝试在django中编写自定义的inclusion_tag。

按照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' 

错误即。

'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 %}

2 个答案:

答案 0 :(得分:2)

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

{% load libmas_tags %}

答案 1 :(得分:1)

什么是libmas_tags?您定义的标记名为display_records,这就是您应该在模板中调用的内容。如果标签文件名为libmas_tags,则需要先将其加载为czarchaic指出。