2010-11-20 18 views
1

不思議な問題を抱えていて意味がありません。私は多くの時間のようにコードを通り抜けていて、問題が何であるか把握しようとしています。基本的には、FirefoxとSafariでサイトをテストすると、動作が異なります。これはJavascriptやCSSにとって意味をなさないかもしれません。ファイヤーフォックスとサファリでdjangoテンプレートの評価が異なる

しかし、これは異なって評価されていないdjangoコードです。単純な例:

マイテンプレートコード:

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

封入タグは、いくつかの変数を返し、コンテキストを更新する単純な封入タグ、です。

myvarが状態変数を評価して表示している場合、firefoxの場合。しかし、サファリと全く同じコードは機能しません。ページを更新すると機能します(ダミーキャッシュを有効にしているのでキャッシングしていません)

本当にこれは意味をなさない!私はライブテストサーバーでそれを持っていますが、ここに投稿はできません。あなたが私にメッセージを送るなら、urlを送ることができます。

は、いくつかの掘削と作業されているバージョン(Firefoxの)Safariはしませんが、以下の追加のHTTPヘッダーを持っている(ので、私の推測では、それが新しいバージョンをチェックしませんです)

「HTTP_IF_MODIFIED_SINCE」、HTTP_IF_NONE_MATCHをしました、HTTP_KEEP_ALIVE

+1

Djangoはサーバー側コードを作成します。テンプレートは、コードがブラウザに出力される前に置き換えられているだけの場所です。あなたはそれが異なって表示されているコードであることを100%確信していますか?あなたのコードの他の部分を共有してもいいですか?例えばビューです。どのようなコンテキストでテンプレートをレンダリングしているかを確認したいと思います。 – kovshenin

+1

たぶん、サファリは強制すると再読み込みするだけのキャッシュを使用していますか? –

+0

@kvshenin、ありがとう、私はそれがサーバー側のコードだと理解し、ブラウザに配信されます。それが私にとって意味をなさない理由です。 Djangoはブラウザについては何も知らない。これは、ブラウザに配信するhtmlを生成します。それゆえ、私は意味がないと言った。 – ismail

答えて

0

myvar URLから収穫したものはありますか?おそらく、FirefoxとSafariの文字列が少し違っていますか?

+0

Nop、私のvarはコンテキスト変数として渡されます。それは私がこの1つで完全に失われている理由です(それはまったく意味がありません) – ismail

0

状況に合ったコンテキストプロセッサやミドルウェアがある可能性はありますか?どちらも、ネットワークに問題があり、パケットにファイアウォールがついているのを知らないなど、奇妙な男の後ろにカーテンタイプの問題を引き起こす可能性があります。

関連する問題