不同模板中的不同静态文件

时间:2017-03-16 02:25:45

标签: python django templates

我陷入了静态文件。

当我在主模板(e.x. {% load staticfiles %})中尝试{% static "main.js" %}时,它在main.html模板中运行良好。  但是,当我尝试通过detail.html模板扩展main.html模板,并将另一个静态文件(e.x。{% staticfiles 'fancybox.js' %})放在那里时,它只显示

<script type="text/javascript" src="static/main.js"></script>

而不是

<script type="text/javascript" src="static/main.js"></script> <script type="text/javascript" src="static/fancybox.js"></script>

在我的detail.html中。

main.html中:

&#13;
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{% block title %}{% endblock %}</title>
    
    {% load staticfiles %}
    <script type="text/javascript" src="{% static 'main.js' %}"></script>
</head>
<body>

{% block content %}
<!-- SOME CONTENT -->
{% endblock %}

</body>
</html>
&#13;
&#13;
&#13;

detail.html:

&#13;
&#13;
{% extends 'layout/main.html' %}

{% load staticfiles %}
    <script type="text/javascript" src="{% static 'fancybox.js' %}"></script>

{% block title %}
<!-- SOME CONTENT -->
{% endblock %}
&#13;
&#13;
&#13;

有人可以帮我解决问题吗?

感谢队友。

2 个答案:

答案 0 :(得分:1)

扩展模板时,需要确保子模板中的所有代码都在块内。因此,对于您的主模板,您通常会执行以下操作:

<强> main.html中

{% extends 'layout/main.html' %}
{% load staticfiles %}

{% block js %}
  <script type="text/javascript" src="{% static 'fancybox.js' %}"></script>
{% endblock %}

{% block title %}
<!-- SOME CONTENT -->
{% endblock %}

<强> detail.html

{{1}}

答案 1 :(得分:0)

    {% extends 'layout/main.html' %}
  {% block title %}
    {% load staticfiles %}
        <script type="text/javascript" src="{% static 'fancybox.js' %}"></script>

  
    <!-- SOME CONTENT -->
    {% endblock %}

在details.html中使用此代码。您必须放置{%block body%} 在扩展或包含声明之后的顶部