7

非常に奇妙なエラーが発生しています。settings.py次のようにファイルにアプリIDが定義されています。

CARDSPRING_APP_ID = '################'

これは、1つを除いて、私のサイトのほぼすべてのページで機能します。不思議なことに、他の変数が機能します。このページのスクリプトセクションには、次のものがあります。

alert("cs appid=" + {{ CARDSPRING_APP_ID }} + 
" sectoken=" + {{ securityToken }} + 
" timestamp= " +{{ timestamp }} + 
" hash = " + {{ digestedHash }} + 
" ccnum " + $('.card-number').val() + 
" exp" + $('.expiration-month').val() + $('.expiration-year').val() + 
" user = " + {{ csid }});

ページがレンダリングされると、これに評価されます

alert("cs appid=" +  + 
" sectoken=" + DDFJRMZXD12WVWHFFC###### + 
" timestamp= " +1346183125 + 
" hash = " + a929b3aec9179c700c09d###### + 
" ccnum " + $('.card-number').val() + 
" exp" + $('.expiration-month').val() + $('.expiration-year').val() + 
" user = " + SG1###);

重要なのは、{{ CARDSPRING_APP_ID }}何も評価していないことです。なぜこれが当てはまるのか誰かが知っていますか?ありがとうございました!

アップデート

context_processors.py以下の回答で説明されているようにファイルを作成してみましたが、必ずの適切な場所に追加してsettings.pyください。私はまだ運がありません-それは1つのページで評価されますが、他のページでは評価されません

更新2

テンプレートは次のコマンドで呼び出されます。

return render_to_response('howto'+str(number)+'.html',locals(),context_instance= RequestContext(request))

UPDATE3 動作しました-これをsettings.pyに追加する必要があります

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    "myapp.context_processors.cardspring",
)
4

1 に答える 1

8

というファイルcontext_processors.pyを作成し、次のコンテキスト プロセッサを記述します。

from django.conf import settings

def cardspring(request):
    return { 'CARDSPRING_APP_ID': settings.CARDSPRING_APP_ID }

次に、ファイルの場所であるDjango 設定ファイルに を追加your.location.context_processors.cardspringします。TEMPLATE_CONTEXT_PROCESSORSyour.locationcontext_processors.py

于 2012-08-28T19:56:06.663 に答える