django模板在firefox和safari上进行不同的评估

时间:2010-11-20 22:55:39

标签: django django-templates

得到了最奇怪的问题,这没有任何意义。我已经多次通过代码并且在我的智慧结束时试图弄清楚问题是什么。基本上使用firefox和safari测试网站,他们的行为有所不同。这可能对Javascript或CSS有意义。

但是,这是django代码,不能进行不同的评估。一个简单的例子:

我的模板代码:

{% if myvar == 'var1' %}   
{{ status }}
{% endif %}

包含标记是一个简单的包含标记,它返回一些变量并更新上下文。

在firefox中,如果myvar评估并显示状态变量。但是,safari中完全相同的代码不起作用。它只有在刷新页面时才有效(并且没有因为我启用了虚拟缓存而没有缓存)

真的这根本没有意义!我有一个现场测试服务器,但不能在这里发布。如果你发给我一条消息可以发送网址。

有些挖掘和正在运行的版本(Firefox)有以下额外的HTTP HEADER,而safari没有(所以我的猜测是它没有检查更新的版本)

'HTTP_IF_MODIFIED_SINCE',HTTP_IF_NONE_MATCH,HTTP_KEEP_ALIVE

2 个答案:

答案 0 :(得分:0)

您从网址收集的内容是myvar吗?也许Firefox和Safari发送的字符串略有不同?

答案 1 :(得分:0)

您是否有可能使用上下文处理器和/或中间件?这两者都可能造成奇怪的幕后人员类型问题 - 有点像网络问题而且不知道防火墙是否会对你的数据包进行咀嚼。