javascript - 有没有办法在 Django 中为不同的模板加载、最小化和组合不同的 javascript 文件?

标签 javascript django django-templates django-pipeline

现在,我将一些常见的 javascript 文件放入 PIPELINE_JS 设置中。但我还想根据每个单独的模板加载更具体的 js 文件。我知道我可以简单地添加一个 script 标签来在每个模板中包含相应的 js 文件,但这会向服务器添加额外的请求,我认为这不是一个好主意。我想要做的理想方式是使用PIPELINE根据不同的模板加载、最小化和组合不同的js文件。有什么办法可以做到这一点吗?

最佳答案

是的,非常简单:

PIPELINE_JS = {
    'stats': {
        'source_filenames': (
          'js/jquery.js',
          'js/application.js',
        ),
        'output_filename': 'js/stats.js',
    },
    'logged_in': {
        'source_filenames': (
          'js/jquery.js',
          'js/collections/*.js',
          'js/application.js',
        ),
        'output_filename': 'js/logged_in.js',
    },
    #and so on..
}

并且在包含在模板中时,

{% load compressed %}
{% compressed_js 'stats' %}

在您希望导入其他目标的另一个模板中,

{% load compressed %}
{% compressed_js 'logged_in' %} {# or whichever you wish to import #}

Read the documentation为了更好地理解。

关于javascript - 有没有办法在 Django 中为不同的模板加载、最小化和组合不同的 javascript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17071508/

相关文章:

javascript - 将 typeahead.js 输出到多个文本框中

c# - html:点击 href 链接后执行其他操作

Django 查询集单元测试

python - 仅使模型字段的一部分在 Django 中可用

python - 如何在 Django View 中定义 get_queryset、get_context_data?

javascript - 如何在Chrome或Firefox的JavaScript控制台中引用最后打印出来的对象?

javascript - 移动时更新fabricjs对象坐标

mysql - Dockerfile django 和 mysql

python - 如何管理 Django 项目中多个应用程序的模板和静态文件?

django - 结合模板默认值的常量和变量值