Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django中的独立前端模块_Django_Frontend - Fatal编程技术网

Django中的独立前端模块

Django中的独立前端模块,django,frontend,Django,Frontend,我正在尝试创建独立的前端模块(HTML、CSS和JS),以集成到Django应用程序中。 最好的例子就是一个“地图”模块,我想把它包括在各种不相关的页面中,可能在每个页面的不同位置 我有一个模板,它提供了地图所需的HTML代码,我希望CSS和JS代码也能包含在这个模板中,以便于处理前端依赖关系。 到目前为止,这可以通过使用{%include%}标记来实现 p>但是在HTML页面中间包含样式表和脚本是一个非常糟糕的做法,当涉及到前端性能时。(CSS应包含在中,JS应包含在末尾) 如果{%incl

我正在尝试创建独立的前端模块(HTML、CSS和JS),以集成到Django应用程序中。 最好的例子就是一个“地图”模块,我想把它包括在各种不相关的页面中,可能在每个页面的不同位置

我有一个模板,它提供了地图所需的HTML代码,我希望CSS和JS代码也能包含在这个模板中,以便于处理前端依赖关系。 到目前为止,这可以通过使用
{%include%}
标记来实现

<> p>但是在HTML页面中间包含样式表和脚本是一个非常糟糕的做法,当涉及到前端性能时。(CSS应包含在
中,JS应包含在
末尾)

如果
{%include%}
标记作为包含它们的模板的一部分呈现,并且可以覆盖
{%block%}
标记,那么我的问题就可以解决了。Django的情况并非如此<代码>{%include%}标记首先呈现为HTML,然后才被包含,因此它们不能覆盖
{%block%}
标记

环顾过去围绕这一主题的问题表明,通常的做法是使用模板继承(即
{%extends%}
)而不是
{%include%}
,但由于我希望我的模块是独立的,所以我不知道如何在我的案例中使用继承

在维护前端性能最佳实践的同时,如何在模板中维护前端依赖关系


谢谢

要首先创建地图模板标记,请使用

关于静态文件的问题,我将创建一个相关的模板标记,将静态文件引用转储到当前模板中。然后将该模板标记包含在块中

如果您的基本模板位于base.html中,而页面模板位于page.html中:

base.html

<html>
    <head>
        {% block css %}
            <link rel="stylesheet...
        {% endblock %}
    </head>
    <body>
        {% block content %}{% endblock %}
        {% block scripts %}{% endblock %}
    </body>
</html>

要首先创建地图模板标记,请使用

关于静态文件的问题,我将创建一个相关的模板标记,将静态文件引用转储到当前模板中。然后将该模板标记包含在块中

如果您的基本模板位于base.html中,而页面模板位于page.html中:

base.html

<html>
    <head>
        {% block css %}
            <link rel="stylesheet...
        {% endblock %}
    </head>
    <body>
        {% block content %}{% endblock %}
        {% block scripts %}{% endblock %}
    </body>
</html>

谢谢与3种不同的包含标签相比,包含标签有什么优势?我不太理解你的问题。上面示例中的标记
{%map\u html%}
将是一个包含标记。谢谢!与3种不同的包含标签相比,包含标签有什么优势?我不太理解你的问题。上面示例中的标记
{%map\u html%}
将是一个包含标记。