Python 2.6 + Ubuntu + Apache 2.2 + FastCGIで私のDjangoデプロイメントに固有の奇妙な問題があります。私のようなテンプレートを使用している場合はDjango boolをチェックするときにFastCGIでタグが動作しない場合のテンプレートTrue
は:
{% with True as something %}
{%if something%}
It Worked!!!
{%endif%}
{%endwith%}
は、それは、出力文字列は「それが働いた!!!」必要があります。 mod_fastcgiを使用している私のプロダクションサーバーにはありません。
これは、runserverを使用してローカルで実行すると完全に機能します。
私は便宜のためにコードを次のように修正し、問題は解決しました。
{% with "True" as something %}
{%if something%}
It Worked!!!
{%endif%}
{%endwith%}
ブール変数の[あなたが参照を取得する場合名声]テンプレートパーサは、FastCGIの下で実行する場合、Truthiness(またはTruthitude)を把握することができないようです。
誰でもこれを見ましたか?解決策はありますか?
おそらくそれらは関連していません。 しかし、{%if%}タグのパラメータを理解する方法は、コンテキストを使用してresolve()メソッドに渡すことです。変数名に解決されると、変数名が割り当てられます。それ以外の場合、それはリテラルとして解釈されます(真の有効なリテラルです)。 –
Trueは、デフォルトでテンプレート内の有効なリテラルではありません。 (ちょうど私がそれを確認するためにローカルでテストした正気のために) – muratgu