Применяется ли SCRIPT_NAME в django к STATIC_URL?
Я обслуживаю django с помощью gunicorn и nginx. И я наблюдаю странное поведение, которое выглядит так, как будто django префиксирует MEDIA_URL
с SCRIPT_NAME
, но не префиксирует STATIC_URL
. Правильно ли я это делаю?
Конфигурация моей статики:
STATIC_URL = "backend/static/" # this looks odd but works
STATIC_ROOT = "/var/www/static"
STATICFILES_DIRS = [BASE_DIR / "static"]
MEDIA_URL = "media/" # this looks fine
MEDIA_ROOT = "/var/www/media"
конфигурация гуникорна:
[Service]
User=www-data
Group=www-data
Environment="DJANGO_SETTINGS_MODULE=backend.settings.production"
WorkingDirectory=/var/www/backend
ExecStart=/var/www/backend/venv/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn.sock \
backend.wsgi:application
конфигурацияnginx:
location ^~ /backend {
proxy_set_header SCRIPT_NAME /backend;
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
location ^~ /backend/static {
alias /var/www/static/;
}
location ^~ /backend/media {
alias /var/www/media/;
}
}