我正在尝试在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 %}
答案 0 :(得分:2)
问题出在你的模板上。它的召唤{% libmas_tags %}
。您是否创建了名为libmas_tags的模板标签?如果是这样,您可能需要将其更改为
{% load libmas_tags %}
答案 1 :(得分:1)
什么是libmas_tags
?您定义的标记名为display_records
,这就是您应该在模板中调用的内容。如果标签文件名为libmas_tags,则需要先将其加载为czarchaic指出。