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