2015-08-26 41 views
1

我有一个网站在Django,Heroku上运行。 我需要为第三方插件添加一些静态JavaScript文件。将静态的一些静态文件位置从/static/file.js更改为/file.js

我新增加的文件位于domain.com/static/filename.js。 我需要他们在domain.com/filename.js

如何仅制作新增的Javascript文件domain.com/filename.js

如果信息不足,请询问评论中需要哪些代码。

回答

3

我在这种情况下,第一选择将是解决什么是阻止你把它在文件到/static/。我无法想象任何一半体面的第三方插件会要求这些文件在根目录中;必须有一些方法来配置它从子目录中工作。如果没有,我会分叉项目并添加选项,然后尝试让它们合并回来。我意识到你可能已经探索过这个选项,但是你能给我们一些关于你正在尝试使用的插件的更多细节,以及它需要进入根目录的原因吗?这真的是最好的解决方案。

如果你真的必须在根目录下有这个文件,并且想把它保存为你的django项目的一部分,我会尝试将文件符号链接到公共根目录下。这意味着它将在两个地点都可用;我看不出为什么这会是一个问题,但你确实在根中指定了“ONLY”,我相信你有你的理由;在这种情况下,也许您可​​以将您的Web服务器配置为从/static/filename.js重定向到/filename.js

最后,你在技术上可以更改设置STATIC_URLSTATIC_ROOT在根目录指向,但是这听起来像一个非常可怕的想法给我。如果你有这么多但仍然需要这样做,将文件完全从你的django项目中取出并手动将它放入你的web根目录会好得多。

+1

在这种情况下,将符号链接或将文件移出django项目并移入Web根目录似乎是最佳选择。 – radiac

0

如果有一对夫妇只这些文件的,我想你可以做到以下几点:

  • 为每个要以服务
  • 挂钩这些URL中的文件创建URL高达一种观点认为,返回与正确的内容
  • this snippet为例视图
+0

是'file_path =/app/static/filename.js'和'original_filename = filename.js'? – StackExchange