为什么我不能在 Django-Oscar 中自定义模板?
Why I can't customize templates in 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
您的 base.html
位置错误 - 它需要在 frobshop/templates/oscar/base.html
而不是 frobshop/templates/base.html
.
Oscar 的所有模板都使用 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
您的 base.html
位置错误 - 它需要在 frobshop/templates/oscar/base.html
而不是 frobshop/templates/base.html
.
Oscar 的所有模板都使用 oscar/
前缀命名空间 - 因此要覆盖它们,您必须执行相同的操作。