我有一个在 Django、Heroku 上运行的网站。 我需要为第三方插件添加一些静态 JavaScript 文件。
我新添加的文件可在 domain.com/static/filename.js
上找到。
我需要它们在 domain.com/filename.js
上可用。
如何仅使新添加的 Javascript 文件在 domain.com/filename.js
上可用?
如果信息不充分,请在评论中询问需要哪个代码。
最佳答案
在这种情况下,我的第一选择是修复阻止您将其放入 /static/
的任何问题。我无法想象任何半点像样的第三方插件会要求文件位于根目录中;必须有某种方法将其配置为在子目录中工作。如果没有,我会 fork 该项目并添加选项,然后尝试让他们将其合并回来。我知道您可能已经探索过这个选项,但是您能否向我们提供有关您尝试使用的插件的更多详细信息,以及它需要进入根目录的原因?这确实是最好的解决方案。
如果您确实必须在根目录中包含该文件,并且希望将其保留为 django 项目的一部分,我会尝试将文件符号链接(symbolic link)到公共(public)根目录中。这意味着它将在两个地点都可用;我不明白为什么这会成为一个问题,但你确实在根目录中指定了“ONLY”,我相信你有你的理由;在这种情况下,也许您可以将 Web 服务器配置为从 /static/filename.js
重定向到 /filename.js
?
最后,从技术上讲,您可以更改设置STATIC_URL
和STATIC_ROOT
以指向根目录,但这听起来是一个非常糟糕的主意大部头书。如果您已经完成了这一步并且仍然需要这样做,那么最好将该文件从您的 django 项目中完全取出并手动将其放置在您的 Web 根目录中。
关于python - 将 static 一些静态文件位置从/static/file.js 更改为/file.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32233938/