私はすべてを提供ジャンゴでtemplatetagを作成することで、この問題を解決することになりましたcmsページ:
app/template_tags/navigation_tags.py:
from django import template
from cms.models.pagemodel import Page
register = template.Library()
def cms_navigation():
cms_pages = Page.objects.filter(in_navigation=True, published=True)
return {'cms_pages': cms_pages}
register.inclusion_tag('main-navigation.html')(cms_navigation)
は、その後、次のようにテンプレートタグを呼び出すテンプレートで:
{% load navigation_tags %} {% cms_navigation %}
これは、あなたが作成したメインnavigation.htmlファイルを持っていることが必要です。ここでそのテンプレートからのHTMLは、タグがどこにあってもmain-navigation.htmlがカスタムタグ関数で渡されたものにアクセスできるテンプレートに注入されます:
templates/main-navigation.html :
<ul id="navigation">
{% for page in cms_pages %}
{{ page.get_title }}
{% endfor %}
</ul>
これは、誰かがtemplatetagsをよりよく理解するのに役立ちます。私は、この問題について少し混乱しているドキュメントを見つけました。あなたが使用する必要があるドキュメントによると
私はこれを行うことができることを認識していますが、どのようにすべてのページテンプレートで利用できるようにしますか? – thomallen