我正在尝试创建包含标记并将其放在页面上,但它不起作用。
我的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的声明放错了地方?我需要把它放在哪里才能使它发挥作用?
答案 0 :(得分:6)
模板标签需要放在应用的templatetags
目录中的模块中。有关详细信息,请参阅自定义template tag docs的代码布局部分。
在使用标记之前,您必须在模板中load
{% load my_tags %}
{% weather %}
。
{{1}}