【问题标题】:Django jquery does not workDjango jquery 不起作用
【发布时间】:2014-01-08 08:29:10
【问题描述】:

我无法运行 jQuery 操作。我也尝试了其他功能,但没有。我想问题在于一如既往地处理静态文件。

notes.html:

    <div>
    <script type="text/javascript" src="static/js/jquery.js" ></script>
    <script type="text/javascript" src="static/js/init.js" ></script>
    <h2><p id="title" > <a href="/notes/get/{{ note.id }}/" >{{ note.title }}</a></p></h2>
    <p id="body" > {{ note.body|lower|truncatewords:"10"}}</p> 
    </div>

init.js

$('#body').click(function(){

   $('#body').hide();

});

【问题讨论】:

  • 您是否将click 包含在$(document).ready() 中?
  • 你是从 Django 服务器加载 jQuery 吗?
  • 您的static/js/jquery.js 网址是否可以改为/static/js/jquery.js(注意前导斜杠)?
  • @Jason 我需要做什么? .我正在从 Eclipse 运行 Django。请解释一下
  • 我建议重写你的问题,包括你想要做什么、你是怎么做的、到目前为止你尝试了什么以及在 Eclipse 和浏览器中显示的任何错误消息控制台。

标签: javascript jquery django


【解决方案1】:

"static/js/jquery.js" 改为 "/static/js/jquery.js" ,我认为你的网址是假的

【讨论】:

  • 我不希望静态文件夹位于根目录中,这就是您的意思...
  • @SamHuckaby 。我还尝试了绝对路径 。但是什么都没有
【解决方案2】:

我能想到一些尝试:

  1. 进入 Django 项目中的 settings.py 文件。检查您的 STATIC_URL 前缀是否设置为 /static/ 以及 STATIC_ROOT = ''

  2. 验证您计算机上的路径是否存在/static/js/jquery.js

  3. 打开 Firebug 或 Chrome Inspector 并验证 jQuery 正在加载。在 Firebug 中,它位于 Net 选项卡下,您应该会看到带有 jquery.js 的 GET 请求。如果可以看到,请在 Firebug 控制台中输入 $.,这会显示 jQuery 函数列表。

【讨论】:

  • 1 ok , 2 ok , 3 在 Firebug 控制台中输入 $ 并得到这个:>>> $ function()
  • 如果你得到function(),这意味着jQuery被加载了。如果不是,您将收到 ReferenceError 通知。所以问题不在于 Django,而在于您的 javascript 代码
  • 也试过了: $('#body').click(function() .Nothing 。问题出在静态文件或资产和设置之类的东西上。我从来没有得到那些。我需要什么资产为了?顺便说一句,我已经收集了静态文件。我有一个类似的问题,只是使用静态标签从静态文件中加载一个 img。我花了一整天的时间让它工作。
  • 真的吗?每件事都在我的问题中,你能看出什么问题吗?
  • 我会将所有内容都包含在 $(document).ready(function(){ ... } 包装器中。这样可以确保在加载所有内容之前不会执行 javascript。
猜你喜欢
  • 2014-01-09
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 2015-03-29
  • 2015-09-19
  • 2012-12-29
  • 2012-08-02
相关资源
最近更新 更多