django inclusion_tag

时间:2012-08-24 21:07:22

标签: django django-templates

我正在尝试创建包含标记并将其放在页面上,但它不起作用。

我的views.py:

from django.shortcuts import render_to_response, redirect
from django import template


register = template.Library()

@register.inclusion_tag('weather.html')
def weather():
    return {'city': 'angola'}


def home(request):
    return render_to_response('index.html')

的index.html

<title> TITLE </title>

Hi everyone!

{% weather %}

weather.html

weather is fine in {{city}}

Django调试页面说“无效的块标记:'天气'”所以我想我把inclus_tag的声明放错了地方?我需要把它放在哪里才能使它发挥作用?

1 个答案:

答案 0 :(得分:6)

模板标签需要放在应用的templatetags目录中的模块中。有关详细信息,请参阅自定义template tag docs的代码布局部分。

在使用标记之前,您必须在模板中load {% load my_tags %} {% weather %}

{{1}}