2017-12-14 13 views
0

私はDjango Appを開発しています。ユーザーのフォルダからjsonファイルを取得するには、フロントエンド(javascript)で定義されたURL文字列に変数を挿入する必要があります。変数をURL文字列に挿入する - Django App

'{% static "users/ userName /file.json" %}' 

私は変数としてuserNameを持っています。私はjstreeプラグインのためにこのURLが必要です。私はユーザーのフォルダツリーを表示する必要があります:

userFolder = '{% static "users/userName/file.json" %}' 

$('#jstree').jstree({ 
    "core" : { 
    "animation" : 0, 
    "check_callback" : true, 
    "themes" : { "stripes" : true }, 
    'data' : { 
    "url" : userFolder, 

     ... more code ... 
    }) 

私は今までと違う構文を試みましたが、これまでのところ運がありませんでした。これに対する解決策はご存じですか?

ありがとうございました!

答えて

1

jsperf comparisonで述べた文字列の連結可能な3つの方法があります。連結文字列の

  • ベストな方法のパフォーマンスが賢明を理解することが明らかに最も簡単には)、assignment+を使用することです+=)演算子:

    '{% static "users/' + userName + '/file.json" %}' 
    
  • セカンドconcat()機能で連結された最良の選択肢(少なくとも新しいブラウザで):次のようになり、この方法を使用して

    The concat() method combines the text of one or more strings and returns a new string.

    ソリューション:

    ''.concat(['{% static "users/', userName, '/file.json" %}']) 
    
  • 第三の選択肢は、join()ファンクションを使用することを含みます。

    この方法を使用してフォーマットする

    The join() method joins all elements of an array (or an array-like object) into a string and returns this string.

    文字列は次のようになります。

    ['{% static "users/', userName, '/file.json" %}]'.join() 
    

    今回の連結は、文字列の代わりに、文字列の配列から実行されていることを、予めご了承ください。例えば

あなたはuserName'FooBar'に等しいはずであるならば、出力は

'{% static "users/JonDoe/file.json" %}' 
+0

こんにちはだろうあなたの答えをありがとうございました。残念ながら、私はまだエラーが発生します:SyntaxError:識別子は数値リテラルの直後に始まります。 – Sim81

+0

私は、中央に二重引用符があるはずです。 "users /" + userName + "/ file.json" – Prem

+0

@ Sim81どのPythonのバージョンを使用しますか?また、私は答えを更新しました。 – Lycopersicum

関連する問題