为什么我不能在 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/ 前缀命名空间 - 因此要覆盖它们,您必须执行相同的操作。