我知道我们可以在模板中使用“扩展变量”在两个不同的扩展模板之间切换。例如
views:
if something:
base = 'base1.html'
else:
base = 'base2.html'
return render_to_response ('template.html', {'base':base})
template.html:
{% extends base %}
通常这工作正常。但是,我的问题是我正在使用 django-registration,我不必编写自己的视图来处理注册和登录过程。这也意味着我无法将变量传递给模板。虽然我的项目目录下确实有注册模板。(如login.html)
不幸的是,Django 不能在模板中这样做:
{% if something %}
{% extends 'base1.html' %}
{% else %}
{% extends 'base2.html' %}
{% endif %}
我知道可以将“变量基数”传递给 auth-login 的唯一方法是编写我自己的视图,例如登录、注销等。这似乎不适合 DRY 模型,并且很容易出错。
还有另一种方法可以做到这一点吗?或任何解决问题的指针?
谢谢。
-P