如何使 STATIC_URL 在外部 JS 文件(Django)中工作
Posted
技术标签:
【中文标题】如何使 STATIC_URL 在外部 JS 文件(Django)中工作【英文标题】:How to make STATIC_URL work in external JS Files (Django) 【发布时间】:2012-07-08 22:25:39 【问题描述】:我正在尝试在外部 javascript 文件中使用 STATIC_URL。我期待结果,因为它在模板中工作,但我发现它在外部 Javascript 文件中不起作用。
还请告诉我一些解决方法,以使 STATIC_URL 在 javascript 文件中工作,因为这将使我的项目更易于管理。
我还发送了许多 ajax 请求,我想在我的 JS 文件中添加类似 url 模板标签的东西。
如果您知道其中任何一个的解决方案,请告诉我。
谢谢
【问题讨论】:
【参考方案1】:我使用一个简单的 Django 应用程序来使 Python / Django 设置在 javascript 中可用。
https://github.com/incuna/django-settingsjs
它通过在模板中呈现设置以相同的方式工作,但提供了一种机制,可以使用视图、url 和可选的信号在 JavaScript 中提供多个变量。
【讨论】:
【参考方案2】:我对这个问题的解决方案是在某个时候将STATIC_URL
传递给您的 JavaScript 代码,以便它也知道值。像这样的:
<script type="text/javascript">
myJavaScript(' STATIC_URL ');
</script>
您的 JavaScript 函数 myJavaScript
然后可以在 URL 和任何需要的地方使用它。
【讨论】:
除了通过模板传递之外别无他法以上是关于如何使 STATIC_URL 在外部 JS 文件(Django)中工作的主要内容,如果未能解决你的问题,请参考以下文章
从按钮单击事件直接调用存储在外部 JS 文件中的 JavaScript 函数
jquery代码如何写到外部js中 为啥 在外部js中 写上 $(document).ready(function();就报错