Почему файл сценария jQuery не распознается в административной панели Django?
Я следую предоставленному учебнику Django, но теперь я обнаружил, что jQuery не загружается, поэтому складные наборы полей в панели администрирования не работают. Это было потому, что libjs-jquery еще не был установлен в системе, но установка не устранила проблему.
Page not found (404)
Request Method: GET
Request URL: http://mysite:8000/static/admin/js/jquery.js
Я подтвердил, что /usr/share/pyshared/django/contrib/admin/media/js/jquery.js указывает на правильный файл (/usr/share/javascript/jquery/jquery.js) и что вышеупомянутый / usr В каталоге /.../js/ mysite:8000/static/admin/js/ читает. Я также заметил, что при создании нового файла в этой папке /usr/.../js/ он не появляется на самом сайте. Мое лучшее предположение состоит в том, что Django не перепроверяет файловую систему, пока не получит указание сделать это. Кто-нибудь знает, как мне решить эту проблему?
2 ответа
В итоге я отказался от учебника и использовал Apache для запуска сайта и раздельного обслуживания статического контента. Я до сих пор не знаю, почему встроенный 'runserver' настаивал на возвращении 404 для файла, который существовал, но, очевидно, это не самый лучший выбор для обслуживания статических файлов.
python manage.py collectstatic
может это исправить; Лучше обслуживать ваши медиа через какой-либо другой сервер, а не через ваш экземпляр django. Например, nginx. DEBUG установлен в true в ваших настройках? Если нет, то это не будет служить СМИ для вас.