我明白,我们可以使用模板两个不同的扩展模板之间切换“延伸变量”。 例如Django的扩展不同的基本模板
views:
if something:
base = 'base1.html'
else:
base = 'base2.html'
return render_to_response ('template.html', {'base':base})
template.html:
{% extends base %}
通常情况下,工作正常。但是,我的问题是,我使用的是django注册,我不必编写自己的视图来处理注册和登录过程。这也意味着我无法将变量传递给模板。虽然我的项目目录下有注册模板。 (喜欢的login.html)
不幸的是,Django的不能在模板中做到这一点:
{% if something %}
{% extends 'base1.html' %}
{% else %}
{% extends 'base2.html' %}
{% endif %}
我知道了“可变基数”可以向下传递到身份验证登录的唯一方法是写我自己的意见,如登录,注销等。这似乎不适合DRY模型,并且相当容易出错。
有没有办法,我能做到这一点的另一种方式?或者解决问题的任何指针?
谢谢。
-P
Tomasz,你是正确的,这是更多的编码问题。发布这个问题后,我挖了一点。我需要切换基本模板的原因是我有两个不同版本的网站 - 完整版和移动版。由于超过1/2的网站将永远不会移动到移动网站,因此我开始使用中间件来切换视图。要真正解决我的问题,我相信我将不得不添加方法来重新路由我的移动GET请求。我只是因为懒惰才希望避免这种情况。感谢帖子!感谢您的时间。 – pdxMobile 2011-02-26 18:34:21