|
|
1
7
如果您创建了一个模板标记而不是一个过滤器,您将得到要使用的上下文(其中包含请求)。 http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-tags |
|
|
2
4
我必须同意亚当的观点,即将代码迁移到自定义标记是最好的方法。 但是,只有当一个页面被发布并且拥有大量使用现有过滤器语法的模板时,客户机才需要记录某些过滤器的使用。重写所有模板是一项代价高昂的工作。所以,我想出了一个简单的函数,它从调用堆栈中提取上下文: https://gist.github.com/drhoden/e05292e52fd5fc92cc3b
一定要阅读我的警告,但这确实使标准过滤器可以访问上下文(当上下文可用时),而不必将过滤器转换为标记。 |
|
|
3
3
这可以使用过滤器来完成。首先要确保
然后,在模板中,您的筛选器将如下所示(假设会话变量名为“currency_type”):
或者像这样的事情是你认为相当可怕的吗? |
|
|
4
0
丹尼尔·罗登提议的一个不那么老套的解决方案是
现在,模板过滤器可以轻松地访问该请求对象。 |