如何在Django中组织JS文件?

car*_*314 7 javascript django jquery django-templates

我目前正在使用Django项目,我包含不同的库JS和我创建用于管理其他库的JS文件,但我不知道每个html页面的JS文件的正确组织,例如,我有一个"Main"基本模板中的.js"和"Milk.js",但我不希望在同一个基本模板中同时拥有这两个文件,我希望每个页面都有单独的文件.

我尝试添加为普通的js文件

<script src="{{ STATIC_URL }}js/milk.js"></script>
Run Code Online (Sandbox Code Playgroud)

但它向我显示一条错误消息,询问我从base.html继承时的几个依赖项

我希望你的帮助

编辑:

Cuando heaadadias en mis archivos de plantillas,sin mostrarme error en la consola de cromo pero en la consola django mostrarme los archivos JS de carga con 304 error. 在此输入图像描述

这些库位于base.html中

奇怪的是,当我从home.html点击时我可以加载milk.js但是当我点击其他页面例如"cow.html"从"Milk.html"无负载js文件时,即使我做了同样的"牛奶" html的".

小智 11

Django模板引擎已经提供了一个标记来继承你的HTML结构,称为'extend'.

标签"extends"是用于扩展父模板的用途.

{%extends"base.html"%}使用文字值"base.html"作为要扩展的父模板的名称.

base.html是可以扩展的父模板.

{% load staticfiles %}
<html lang="en">
    <head><title>Hello World</title></head>
    <body>
        <div id="content">
            {% block content %}{% endblock %}
        </div>

        {% block scripts %}
        <script src="{% static 'js/main.js' %}"></script>
        {% endblock %}

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

你还有另一个名为milk.html的 HTML ,你需要和base.html一样的所有内容,但是包含milk.js,你只需要这样做.

{% load staticfiles %}
{% extends "base.html" %}

{% block scripts %}
    <!-- block.super will get the content of the block from the parent template -->
    {{ block.super }}
    <script src="{% static 'js/milk.js' %}"></script>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

阅读更多关于'extends'的信息:https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#std : templatetag- extends