【问题标题】:Django: reference static file from js in static file directoryDjango:从静态文件目录中的js引用静态文件
【发布时间】:2015-08-28 04:24:05
【问题描述】:

我正在尝试从放置在我的 Django 项目的静态文件目录中的 js 文件调用静态文件。
这是一个例子。
在我的模板中,我通过以下方式从静态文件中调用 js:

{% load staticfiles %}
...
<script src="{% static 'js/init.js' %}"></script>
...

到目前为止没有问题。
所以,我有一个名为 init.js 的静态文件,它具有以下代码行的功能:

global: { href: 'css/style.css', containers: '70em', grid: { gutters: ['2.5em', 0] } },

其中 init.js 是静态文件,css/style.css 也是静态文件。
按以下方式更改代码自然会导致 init.js 文件出现问题,无法识别 python/Django 代码

{% load staticfiles %}
global: { href: "{% static 'css/style.css' %}", containers: '70em', grid: { gutters: ['2.5em', 0] } },

有没有办法像这种情况下直接从另一个静态文件调用静态文件?
谢谢!

【问题讨论】:

    标签: javascript python django templates django-staticfiles


    【解决方案1】:

    你可以把它保存在模板中的某个地方

    <script type="text/javascript" charset="utf-8">var tem_css_location = {% static 'css/style.css' %}</script>
    

    现在你可以在 init.js 中调用 tem_css_location:

    <script type="text/javascript" charset="utf-8">var tem_css_location = {% static 'css/style.css' %}</script>
    <script src="{% static 'js/init.js' %}"></script>
    

    在 init.js 中将如下所示:

    global: { href: tem_css_location, containers: '70em', grid: { gutters: ['2.5em', 0] } },
    

    【讨论】:

    • 谢谢你的朋友,这是一个很好的答案!尤其是将位置放入变量中并在另一个 js 文件中重用它,而不是在模板中做所有事情
    猜你喜欢
    • 2015-02-05
    • 2013-01-10
    • 2021-06-29
    • 2020-12-11
    • 2017-12-23
    • 2020-04-18
    • 2019-03-05
    • 2018-04-14
    • 2013-10-22
    相关资源
    最近更新 更多