15

我是 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).无法解决上述错误,请提供可能的原因,以便我可以运行此功能。

谢谢

4

3 回答 3

3

您需要设置STATICFILES_DIRSsettings.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>"

于 2018-11-01T10:42:16.043 回答
0

对于开发服务器

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

这对我有用

于 2013-04-08T13:36:05.303 回答
0

你必须在你的 django 设置文件中设置你的STATIC_URL和,在你的 js src 路径前加上,并告诉 django 在使用开发服务器时提供静态内容(和/或配置你的前端服务器来提供它)。这一切都记录在这里:https ://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/STATIC_ROOT{{ STATIC_URL }}

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

于 2013-04-08T10:59:43.490 回答