ユーザがバックエンドのDjangoテンプレート内でフロントエンドをクリックしたときに作成されるjavascript変数にアクセスしようとしています。しかし、あなたはすでにそれがうまくいかないことを知っています。
より良いオプションは、JavaScriptでURLを再構築するために、次のようになります。
$(document).on('click', '.alink', function() {
// Generate URL without "id" bit
var url = "{% url 'myapp:productdetail' %}";
var id = $(this).attr('id');
// Construct the full URL with "id"
document.location.href = url + "/" + id;
});
あなたが必要なURLを返しますDjangoのURLヘルパーを持っていない場合は、あなただけの任意のと、単にプリントアウトすることができますそのようなJavaScriptでそれを置き換える:
$(document).on('click', '.alink', function() {
var url = "{% url 'myapp:productdetail' 123 %}";
var id = $(this).attr('id');
// Construct the full URL with "id"
document.location.href = url.replace('123', id);
});
正確にあなたの目標は何ですか? Djangoのテンプレートタグの中で参照される変数 'id'は、javascriptと同じものではありません。 JavaScriptのDjangoテンプレートを使用すると、一般的には面白くないコードが作成されますが、基本的にはjavascriptで文字列連結を実行したいと思っているように聞こえます。 Djangoタグを文字列を返す関数と考え、それに対応するJavaScriptを記述して連結します。 – fvgs
こんにちは、私のビューは、それを処理し、別のテンプレートの情報を表示できるように私はURLのために設定したい製品のIDだと、IDのおかげで、IDです。私は間違っているかもしれないが、正確に何が必要なのか知っている:それを行う良い方法 – jsanchezs
それは関連するURLがあなたのAPIのエンドポイントにあるかのように思える。 APIは動的ではなく、変更しない限り安定していなければならないため、通常はこのURLをJavaScriptコードにハードコードします。だから、私はちょうどあなたのJavaScriptコードでURLを書くことをお勧めします。 – fvgs