9

包含タグを作成してページに配置しようとしていますが、うまくいきません。

私の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 のデバッグ ページに「無効なブロック タグ: 'weather'」と表示されているので、inclusion_tag の宣言を間違った場所に置いたと思いますか? 動作させるにはどこに置く必要がありますか?

4

1 に答える 1

10

テンプレート タグは、アプリのtemplatetagsディレクトリ内のモジュールに配置する必要があります。詳細については、カスタムテンプレート タグ ドキュメントのコード レイアウト セクションを参照してください。

loadタグを使用する前に、テンプレートでタグ ライブラリを使用する必要があります。

{% load my_tags %}
{% weather %}
于 2012-08-24T21:35:47.370 に答える