django を始めて2ヶ月ですが、簡単なアプリを vps にデプロイして実際に使うところまでは来ています。
最近、django の ajax で、あるディレクトリ内にあるすべての html ファイルを再帰的に検索して dtree で表示し、その html 名をクリックすると内容が出力されるプログラムを作ろうと考えました。
このプログラムは php では比較的簡単にできていて今までも使っていたのですが、django では最後のステップで躓いております。
最後のステップというのは、ajax で返されたリンクの変数名を動的に開くことができません。
最終的に欲しい形は
var link = '{% url 'book' 'aaa.html' %}';
なのですが、
'aaa.html'の部分を動的に作成する方法がわからないのです。
ちなみに、ajax で受け取る変数は
jsnl[keys]['link'] = 'aaa.html' ;
という感じです。
javascript
1success: function(data) { 2 3 let jsnl = eval(data); 4 d = new dTree('d'); 5 d.add('/home/user/data',-1,'root'); 6 Object.keys(jsnl).forEach(function(keys){ 7 このようにすると 8 jsnl[keys]['link'] = 'aaa.html' ; # これは console.log で確認しています。 9 最終的に欲しい形は、 10 var link = '{% url 'book' 'aaa.html' %}'; ← このように固定すればきちんとリンクできます。 11 しかし、 12 var link = '{% url 'book' 'jsnl[keys]['link']' %}'; 13 では全然ダメで、いろいろ試行錯誤の結果 14 var link = "'{% url 'book' '" + jsnl[keys]['link'] +"' %" + "}'" ; 15 であれば文字列としては正しそうに見えるのですが、やはりリンクはできません。 16 17 d.add(jsnl[keys]['id'],jsnl[keys]['parent'],jsnl[keys]['text'], link, "", "_blank"); 18})
あなたの回答
tips
プレビュー