Django-Oscar覆盖templatetags

时间:2013-05-27 20:40:10

标签: django override templatetags django-oscar

我尝试通过使用本地templatetags文件夹创建本地版本的目录应用程序来覆盖category_tags,该文件夹具有category_tags.py文件(也是init.py)。 似乎使用了默认的category_tags文件。 如果我更改了本地标记文件的名称,当然我在模板中加载了标记的新名称,但是我想覆盖或扩展默认的category_tags而不是创建另一个。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我通过将模板放在我的project_folder>中来实现它。模板> oscar_app_name> template_name.html

所以要覆盖"结帐"应用和模板,我的结构看起来像这样:

/project
--/apps
----/checkout
------[change checkout models]
----__init__.py
----app.py

--/project
----/templates
------/checkout
--------payment_details.html

----__init__.py
----settings.py
----urls.py

--manage.py

然后你必须编辑settings.py已安装的应用程序

INSTALLED_APPS = [
    'django.contrib.admin',
    ...
    'compressor',
    'paypal',
] + get_core_apps(['apps.checkout'])

答案 1 :(得分:0)

我认为模板标签会按照INSTALLED_APPS中指定的顺序加载。包含category_tags.py的应用程序是否在之前(或者代替使用Oscar的get_core_apps覆盖来扩展奥斯卡核心应用程序)oscar.core.apps.catalogue

PS。我是奥斯卡作家,不得不承认我们不经常检查StackOverflow。邮件列表是您目前最好的选择。