templatetags
フォルダを自分のアプリケーション内に作成し、posts.py
という名前のファイルに作成しました。Djangoはテンプレートタグを読み込めませんでした
from django.template import Library, Node
from advancedviews.models import Post
register = Library()
class AllPost(Node):
def render(self,context):
context['all_posts'] = Post.objects.all()
return ''
def get_all_posts(parser,token):
return AllPost()
get_all_posts = register.tag(get_all_posts)
今、テンプレート内にこのテンプレートタグを読み込もうとしています。
{% load get_all_posts %}
しかし、これはエラーを私に与え、'get_all_posts' is not a valid tag library: Template library get_all_posts not found, tried django.templatetags.get_all_posts,django.contrib.admin.templatetags.get_all_posts
は、このテンプレートではエラーは何であるか、私はここで何かを見逃しています。
私は上記のコードを編集しましたが、それでも同じエラーが表示されます。 – Sandeep
間違いを見つけたので、間違った名前のファイルを読み込んでいただけです。今、{%load posts%} adnのようにタグを読み込んだ後、関数を{%get_all_posts%}として読み込みました。今、私はすべてのコンテキスト変数を使うことができました。それはどのように行われるのですか? – Sandeep