Как создать настраиваемую структуру меню в Django - PullRequest
0 голосов
/ 04 марта 2019

сначала написал метод обработчика пользовательских шаблонов контекста

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 %}

И добавил этот URL в мой urls.py

url(r'^suppliers/', CreateView.as_view(), name="suppliers")

Я следовал этому учебнику. Но я получаю ошибку

Не удается разрешить ключевое слово "show_in_menu" в поле.

...