Статические файлы администратора Django волшебным образом обслуживаются

Я только что создал простой сайт Django для разработки и закомментировал

path('admin/', admin.site.urls),

с STATIC_URL = '/static/' в settings.py,

Когда я делаю python manage.py runserver 8100 и перехожу к http://localhost:8100/static/admin/css/nav_sidebar.css, я вижу что этот статический файл волшебным образом разорван.

Что на самом деле происходит? Я еще не настроил статическое обслуживание url в моем urls.py? У меня также нет другого статического сервера, такого как NGINX.

Я думаю, что статические файлы обслуживаются, например, NGINX. Они помещаются в место, где они доступны, как только вы выполните python manage.py collectstatic, и затем Django больше не заботится о них, потому что о них позаботится ваш сервер. Так сказать, они переданы на аутсорсинг. Их обрабатывает другая служба. Таким образом, /static будет оставаться доступным независимо от URL администратора. То, что вы включаете и выключаете с помощью URL-адресов администратора - это страницы под /admin.

http://localhost:8100/admin 

Больше не будет работать, но

http://localhost:8100/static/admin 

останется нетронутым.

Так из https://docs.djangoproject.com/en/3.2/howto/static-files/, когда вы установите DEBUG=True, Django будет автоматически делать коллстатику и сервер статического файла с URL-адресами для вас.

Вернуться на верх