0

urls.py から URL パターンを呼び出して、データベースのフィールドを更新しようとしています。パターンは次のように定義されます (コードはセキュリティのためにわずかに変更されています)。

(r'^pref/(?P<key>\d+)/(?P<value>\d+)/$', 'client.views.update_pref'),

キー: ENABLE_T (constants.py で定義されている int 値 7)

値: 0 (False の場合は boolean int)

Javascript で、このコード ブロックの下で /pref/ENABLE_T/0 を呼び出そうとしましたが、$.ajax()関数にはまったく入りません。

$.ajax('/pref/7/0/', {
    dataType: 'json',
    success: function(data) {
        alert("Success");
    },
    error: function() {
        // TODO: handle error
        alert("Preferences Error");
    }
});

その定数を呼び出すには、7 の代わりに ENABLE_T を使用したいと思います。助言がありますか?ありがとう!

4

2 に答える 2

0

いくつかの選択肢があります。まず、javascript ファイルをテンプレートとしてレンダリングできるため、テンプレート変数を javascript に挿入できます。次のようなdjangoテンプレートを使用できます。

var my_variable="{{DJANGO_VARIABLE}}";
//変数で何かをする
.

もう 1 つの選択肢は、変数のみをレンダリングし、たとえばハードコードされた URL で ajax によってそれらを渡すか、変数を html テンプレートに含めて、適切に定義された変数で動作する javascript を含めることです。たとえば、変数 X を定義し、ロードするスクリプトでこの変数を使用します。

さらに別のオプションは、django javascript 統合スクリプトを使用することです (django-admin スクリプトを見てください)。たとえば、いくつかの静的変数を取得したり、URL を反転したりするために定義された JavaScript 関数がいくつかあります。

于 2013-07-08T16:16:41.043 に答える