Почему я не могу настроить шаблоны в Django-Oscar?

#django #django-oscar

#django #django-oscar

Вопрос:

Я пытаюсь настроить базовый шаблон, следуя документации. Но шаблон никак не реагирует на мои изменения… Что я делаю не так?

Путь к моему шаблону из location() :

 .../django_shop/frobshop/frobshop/templates
  

Моя структура проекта:

введите описание изображения здесь

Мои настройки:

 TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            location('templates')
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.request',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.static',
                'django.contrib.messages.context_processors.messages',

                # Oscar specific

                'oscar.apps.search.context_processors.search_form',
                'oscar.apps.communication.notifications.context_processors.notifications',
                'oscar.apps.checkout.context_processors.checkout',
                'oscar.core.context_processors.metadata',
            ],
            'debug': DEBUG,
        }
    }
]
  

Мой base.html:

 {% extends 'oscar/base.html' %}

{% load i18n %}

{% block title %}
{% trans 'test title' %}
{% endblock %}
test
  

Ответ №1:

Вы base.html находитесь в неправильном месте — оно должно быть in frobshop/templates/oscar/base.html вместо of frobshop/templates/base.html .

Все шаблоны Oscar имеют пространство имен с oscar/ префиксом — поэтому, чтобы переопределить их, вы должны сделать то же самое.

Комментарии:

1. Спасибо за ответ. В моей конфигурации мне пришлось добавить папку oscar в шаблоны. Ты спас мои нервы) Мой путь: frobshop/frobshop/templates/oscar/base.html

2. Вам просто нужно скопировать проект в папку (как они написали в ответе выше) и не писать в самом шаблоне {% extends ‘oscar/base.html ‘ %}