首先编写了自定义模板上下文处理器方法
def show_pages_menu(context):
pages_menu= suppliers.objects.filter(show_in_menu=True)
return {'pages_menu': pages_menu}
将此方法添加到我的settings.py
之后TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'Accounts.pages_context.show_pages_menu'
],
},
},
]
最后,我创建了模板menu.html
{# First render the pages #}
{% for page in pages_menu %}
{# Then check if current page is 'published' #}
{% if page.status == 'published' %}
<li>
<a href="{{ page.get_absolute_url }}">{{page.menu_title}}</a>
</li>
{% endif %}
{% endfor %}
并将此网址添加到我的urls.py
中url(r'^suppliers/', CreateView.as_view(), name="suppliers")
我遵循了this教程。但是我遇到了错误
无法将关键字“ show_in_menu”解析为字段。