无法加载资源:服务器响应状态为404(未找到)

时间:2013-04-08 06:14:09

标签: jquery json

我是uisng python,要将数据从json文件显示到页面,我收到以下错误

Failed to load resource: the server responded with a status of 404 (NOT FOUND) http://localhost:8000/static/script/jquery-1.9.1.min.js
Failed to load resource: the server responded with a status of 404 (NOT FOUND) http://localhost:8000/static/script/myscript.js

myscript.js文件

$("#button").click(function(){
    $.getJSON("item.json",function(obj){
       $.each(obj,function(key,value){
          $("ul").append("<li>+value.item1+"</li>");
          $("ul").append("<li>+value.item2+"</li>");
          $("ul").append("<li>+value.item3+"</li>");
       });
    });
}); 

.json文件是

{
"p1":{
      "item1":"apple",
      "item2":"orange",
      "item3":"banana",
      },
"p2":{
      "item1":"water",
      "item2":"milk",
      "item3":"alcohol",
     }
}

模板是

<html>
    <head>
    <body>
    <ul></ul>
    <button></button>
    <script src="script/jquery-1.9.1,min.js" type="text/javascript"></script>
    <script src="script/myscript.js" type="text/javascript"></script>
    </body>
    </head>
</html>

1).js文件位于我的项目文件夹中,路径也已设置。

2)。我没有在我的views.py中进行任何查询,因为我是新手,我对此感到困惑。所以任何编码都需要在views.py中执行以从json获取数据。

3)。无法解决上述错误,请告诉我可能的原因,以便我可以运行此功能。

由于

3 个答案:

答案 0 :(得分:0)

您必须在django设置文件中设置STATIC_URLSTATIC_ROOT,在{{ STATIC_URL }}前面添加js src路径,并告诉django在使用dev服务器时提供静态内容(和/或配置前端服务器以提供服务)。这些都记录在这里:https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/

注意:在版本1.3之前,它是MEDIA_URL和MEDIA_ROOT,参见相关文档。

答案 1 :(得分:0)

对于开发服务器

  1. 在django root中创建一个静态文件夹
  2. 将其添加到settings.py中的STATIC_DIRS ('assets','静态文件夹的路径')
  3. 将资源放在您之前创建的静态文件夹中的相应文件夹中
  4. 然后运行python manage.py collectstatic。这将在django根目录中创建一个admin和一个assets文件夹,其中包含您放置的资产
  5. 在模板中,在顶部添加{%load static%}
  6. 对于链接使用{%static'res assets / path_to_resources_as_added_in_the_static_folder'%}
  7. 这对我有用

答案 2 :(得分:0)

您需要在STATICFILES_DIRS中设置settings.py,但请确保您的文件树如下所示

RootDir
+--myproject
|  +--static
|  |  +--script
|  |     |--myscript.js
|  |     |--jquery-1.9.1.min.js
|  |--settings.py
+--myapp
|--manage.py

settings.py中添加或替换

STATIC_URL = '/static/'

使用

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATICFILES_DIRS = [
    os.path.join(PROJECT_ROOT, 'static'),
]
STATIC_URL = '/static/'

另一个解决方案: 替换,中的逗号<script src="script/jquery-1.9.1,min.js"

添加双引号",将"<li>+value.item1+"</li>"替换为"<li>"+value.item1+"</li>"