#python #django #static
#python #django #статический
Вопрос:
Я развернул приложение Django через nginx, и это работало без каких-либо проблем в течение последних нескольких месяцев. Однако теперь без каких-либо изменений, о которых я знаю, Django больше не может найти статические файлы, поэтому изображения не отображаются, а на странице администратора django нет таблицы стилей.
В моем settings.py
я использовал следующую настройку:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...
STATIC_ROOT = os.path.join(BASE_DIR,'static/')
STATIC_URL = 'http://[ip.of.hosting.server]/[name_of_app]/static/'
Когда я запускаю, например manage.py findstatic --verbosity 2 img/logo.png
, Django может найти файл изображения, однако на развернутом веб-сайте логотип не отображается, и я получаю 404 file not found
сообщение об ошибке для изображения.
Я также попытался запустить manage.py collectstatic
, однако это не добавило новых статических файлов, и файлы по-прежнему не найдены.
Как это может внезапно произойти. Я понятия не имею, к чему я мог прикоснуться, чтобы сломать
Комментарии:
1. Если вы запустите
debug=false
статические файлы, они будут обработаны nginx. Для этого, пожалуйста, поделитесь своим файлом sites-available/<nameOfFile> на вашем сервере nginx.2. Это решило мою проблему! Я на самом деле «привел в порядок» местоположение, в котором nginx ищет файлы вчера. Ну, оказывается, я был немного в порядке…
3. хорошо, тогда, пожалуйста, задайте для этого вопроса ответ 🙂 наслаждайтесь кодированием!
Ответ №1:
Если вы запустите debug=false
статические файлы, они будут обработаны nginx. Для этого, пожалуйста, проверьте ваши сайты-доступные / файл внутри вашего сервера nginx.