Не удалось загрузить ресурс: сервер ответил статусом 404 (NOT FOUND)

Я 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). Я не делаю никаких запросов в моих view.py, так как я новичок в этом, я смущен этим. Так что любые кодировки должны выполняться в views.py для извлечения данных из json.

3). Невозможно разобраться с приведенными выше ошибками, пожалуйста, предоставьте мне возможную причину, чтобы я мог запускать эту функцию.

Спасибо

Ответ 1

Вы должны установить STATIC_URL и STATIC_ROOT в свой файл настроек django, добавить путь js src к {{ STATIC_URL }} и сообщить django для статического содержимого при использовании сервера dev (и/или настроить ваш фронт сервер для его обслуживания). Все это описано здесь: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/

NB: перед версией 1.3 это MEDIA_URL и MEDIA_ROOT, cf соответствующий документ.

Ответ 2

Для сервера разработки

  • Сделать статическую папку в корне django
  • Добавьте это в STATIC_DIRS в settings.py('assets', 'путь к статической папке')
  • Поместите ресурсы в соответствующие папки в статической папке, которую вы создали ранее
  • Затем запустите python manage.py collectstatic. Это создаст папку admin и assets в корне django с активами, которые вы положили.
  • В шаблонах добавить {% load static%} вверху
  • Для ссылки используйте {% static 'assets/path_to_resources_as_added_in_the_static_folder'%}

Это работает для меня

Ответ 3

вам нужно установить 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>"