我想在我的 Django 站点中添加一个“dev”子域,用于公开测试实验布局。所有这些实验都在我的base.html
模板上进行。(例如,我可能会尝试一个新的 CSS 文件以及一些更流畅的容器。)目前,这个替代模板存在于一个base_alt.html
文件中。
我设置了中间件,以便request
对象具有正确的subdomain
属性,并且我正在使用django.core.context_processors.request
上下文处理器将此属性传递给模板本身。但我无法决定将逻辑换出基本文件的正确位置。以下是我的想法:
继承的每个模板中的逻辑base.html
:
{% ifequal request.subdomain "dev" %}
{% extends "base_alt.html" %}
{% else %}
{% extends "base.html" %}
{% endifequal %}
这是行不通的,一方面。我想我在做一些愚蠢的错误。但这似乎也是一个糟糕的解决方案——至少有十几个页面级模板继承了基础。
我的另一个平庸的想法是将两个基本模板放入base.html
一个巨大的“if”语句中。
肯定有更好的方法吗?