将变量插入url字符串 - Django App

时间:2017-12-14 23:13:10

标签: javascript python django url

我正在开发一个Django应用程序,我需要将一个变量插入到前端(javascript)中定义的url字符串中,以从用户的文件夹中获取json文件:

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

我想将userName作为变量。我需要这个jlree插件的URL。我必须显示用户的文件夹树:

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

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

      ... more code ...
   }) 

我尝试了不同的语法但到目前为止没有运气。你知道任何解决方案吗?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:-1)

jsperf comparison中提到了三种可能的字符串连接方法:

  • 串联字符串的最佳表现方式,显然最容易理解)是使用assignment +,{ {1}})运营商:

    +=
  • 第二个最佳选择至少在较新的浏览器中)与concat()功能连接:

      

    '{% static "users/' + userName + '/file.json" %}' 方法合并了一个或多个字符串的文本并返回一个新字符串。

    使用此方法的解决方案如下所示:

    concat()
  • 第三个选项包括使用join()功能:

      

    ''.concat(['{% static "users/', userName, '/file.json" %}']) 方法将数组(或类数组对象)的所有元素连接到字符串中并返回此字符串。

    使用此方法的字符串格式如下所示:

    join()

    请注意,此次连接是从字符串数组而不是字符串执行的。

例如,如果您['{% static "users/', userName, '/file.json" %}]'.join() 应该等于userName,那么输出将是

'FooBar'