python - 将 static 一些静态文件位置从/static/file.js 更改为/file.js

标签 python django django-staticfiles

我有一个在 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_URLSTATIC_ROOT以指向根目录,但这听起来是一个非常糟糕的主意大部头书。如果您已经完成了这一步并且仍然需要这样做,那么最好将该文件从您的 django 项目中完全取出并手动将其放置在您的 Web 根目录中。

关于python - 将 static 一些静态文件位置从/static/file.js 更改为/file.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32233938/

相关文章:

python - 由于错误,如何避免在 'w' 模式下关闭 python 文件时创建零字节文件?

javascript - Django:AJAX + CSRF POST 给出 403

python - 如何在 Pandas 数据框的每一行中的选定列中找到两个最低值?

python - 在 python 3 中使用 while 循环迭代类成员

html - 如何在 Django 中呈现 html 表单

Django admin.TabularInline 自动插入三个空行

javascript - Google Maps API 的哪些组件用于生成绘制许多地址的 map ?

当 DEBUG 为 False 时 Django 停止提供静态文件

python - django/whitenoise 存储后端导致错误

python - 计算旋转数据框的列数并连接到 python 中的另一个数据框