Почему изменение настройки "STATIC_URL" влияет на работу моего приложения Django?

В settings.py, если я укажу STATIC_URL = 'http://68.164.125.221/', тогда клиенты могут посетить мою веб-страницу. Однако CSS и другие статические файлы не загружаются.

С другой стороны, если я укажу STATIC_URL = '/', то посещение домашней страницы моего приложения приводит к этой ошибке.

Page not found (404)
Request Method: GET
Request URL:    http://68.164.125.221/
Directory indexes are not allowed here.
You're seeing this error because you have DEBUG = True in your Django settings file.

Интересно, что мои статические файлы теперь загружаются (например, загружается http://68.164.125.221/main.css), несмотря на то, что на домашней странице моего приложения отображается эта ошибка.

Почему изменение настройки "STATIC_URL" переключает, загружается ли моя домашняя страница или мои статические файлы? Я использую приложение staticfiles.

1 ответ

Решение

Вы, вероятно, хотите STATIC_URL = '/static/'[1]; когда вы установите его / Джанго пытается подать /blah/ в виде статического файла, а не вставлять его в приложение Django.

Фактическая ошибка, которую вы получаете, Directory indexes are not allowed here., относится к тому факту, что папки статических файлов не перечислены - вы должны получить доступ к определенному файлу для его обслуживания.

[1] Или /media/, или / files /, или как угодно... только не '/'.

Другие вопросы по тегам