Django Javascript - 从base.html扩展到模板时,静态js文件未运行

时间:2015-10-01 02:55:56

标签: javascript jquery html django

在我目前的Django项目中,我有一个静态的javascript文件。它显式加载为我的base.html文件的一部分,然后我将其扩展到每个模板,该模板是网站的一部分。加载基于模板的页面时,base.html文件中的代码全部存在,包括页面底部的javascript文件;然而,没有一个javascript本身似乎运行。这是基本设置:

Base.html以{%load staticfiles}开头,并在html正文末尾包含以下行<script src="{% static 'js/maps.js' %}"></script>

然后,任何给定的模板都以{%extends "base.html"%}开头。加载任何这些页面后,如果我在浏览器中查看源代码,<script src="{% static 'js/maps.js' %}"></script>行就会出现在页面底部的位置。

现在maps.js中的代码非常少。我注意到这个问题最初是因为它没有加载对象(谷歌地图)或响应页面上的操作,但出于测试目的,我只是想让它给我一个警报或任何东西。我试过在文件中只使用一个alert();以及使用$(function(){alert();});等到页面加载完毕。

有谁可以指出问题可能在哪里?我不确定这是否是在页面上加载内容的顺序或我可能不知道的其他内容。它似乎可以应用于Django中的其他情况并使用静态文件。谢谢!

2 个答案:

答案 0 :(得分:0)

我在使用Angular js中的ui-router在视图中运行链接的javascript文件时遇到了类似的问题。我试图找到我所做的旧测试项目来压制这个bug,看看它是否可以告知这个问题...

答案 1 :(得分:0)

也许你在maps.js文件之前缺少jquery库。 我也更喜欢使用

$( document ).ready( function() { 

   //your code

} );

代替。 希望它有效。