【问题标题】:Referencing external files using django template使用 django 模板引用外部文件
【发布时间】:2014-10-16 12:26:36
【问题描述】:

我尝试在 django 模板的 head 标记中包含 Javascript 和 CSS 的外部文件,但它们不起作用。当我在关闭 body 标签之前放置它们时,它们工作得很好。为什么?另一个问题是,当我使用继承时,孩子们看不到我的外部文件。有人可以帮帮我吗?

<head>
{% load staticfiles %}
    <link rel = "stylesheet" type = "text/css" href = "{%static 'postare/style.css' %}"/>
    <link type = "text/css" href = "{% static 'postare/css/bootstrap.min.css'%}" rel = "stylesheet"/>

    <script type = "text/javascript" src = "{% static 'postare/js/bootstrap.min.js' %}"></script>
    <script type = "text/javascript" src = "{% static 'postare/jquery.js' %}"></script>
    <script type = "text/javascript" src = "{% static 'postare/scripts.js' %}"></script>
</head>

【问题讨论】:

  • 对不起,你是说这个确切的代码在 中有效,但在 中无效?当你把它放在 中时,究竟会发生什么?这段代码在什么文件中 - 该文件在继承层次结构中的什么位置?
  • 是的。脚本有一个隐藏类的功能。当我将该类分配给文件在正文中的 div 时,它可以工作,但是,当我将文件移动到头部时,它不起作用。我尝试将该类分配给孩子的 div,文件在头部和正文中,并且它也不起作用。
  • 脚本文件名为scripts.js,位于app/static/app/scripts.js
  • 什么?脚本文件没有 或 。 您显示的代码在哪里
  • 我有一个 html 页面,其中包含我在 head 标签之间显示的代码。该代码引用了位于另一个目录中的几个文件,两个 css 和三个 js。在其中一个文件中,更准确地说是在scripts.js 中,我有一个隐藏div 标签类的函数,它位于body 标签之间。但它并没有隐藏 div,即使我在 head 标签中引用了它。当我把

标签: javascript python css django


【解决方案1】:

我在&lt;html&gt; 标记之前加载了静态。我使用{% load static %} 而不是{% load staticfiles %} 它对我有用,没有任何麻烦。

【讨论】:

    【解决方案2】:

    这与 Django 模板或外部文件无关。

    HTML 页面并不神奇;浏览器只是按顺序解释它们。如果脚本包含在文档的顶部,它不能立即作用于 DOM 中的元素,因为 DOM 尚未加载。这就是为什么 jQuery 包含一个延迟执行直到 DOM 准备好的方法:

    $(document).ready(function() {
        ... code here ... 
    });
    

    请参阅jQuery documentation

    【讨论】:

      【解决方案3】:

      将此行移至模板顶部:

      {% load staticfiles %}
      

      &lt;html&gt;&lt;head&gt; 标签之前。

      【讨论】:

      • 不,对不起,它不起作用,试过了。如果我在 CSS 中说,它会隐藏我的 div:“visibility:hidden;”但是如果我尝试使用 JQuery 添加相同的 css 属性,它就不起作用了。
      猜你喜欢
      • 2011-04-10
      • 2023-03-21
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 2012-02-28
      相关资源
      最近更新 更多