Django версия 2.2
Python 3.6.9
Ubuntu 18.04.4
Django сайту администратора не удалось загрузить файлы stati c ( CSS / JS), в то время как Nginx размещает файлы stati c
В разработке я помещал файлы stati c в my_project/static/
, а в производстве - python manage.py collectstatic
. Все файлы stati c собраны в /srv/my_site_static/
Папка /srv/my_site_static/admin
содержит 4 папки js, img, fonts, css для django админки.
Я использовал Nginx для размещения файлов stati c. Мои написанные приложения правильно загружают файлы stati c с моими настройками nginx ниже. Единственная проблема - мой http://my_site.com / admin не удалось загрузить css / js.
Django settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'ckeditor', # for blog, articles, html pages
'ckeditor_uploader', # for blog, articles, html pages
'user_blog',
'product_info', # product info page
]
STATIC_URL = 'static/'
MEDIA_URL = 'media/'
# Use these in production mode
STATIC_ROOT = '/srv/my_site_static/'
MEDIA_ROOT = '/srv/my_site_media/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
Мои nginx настройки:
server {
listen 9000; # nginx public server
server_name 127.0.0.1;
location /static/ {
autoindex on;
alias /srv/my_site_static/; # Set this to your STATIC_ROOT
}
location /media/ {
autoindex on;
alias /srv/my_site_media/; # Set this to your MEDIA_ROOT
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000; # the django server
}
}
Здесь мои Nginx не заботятся о запросах my_site.com / admin / xxxxxxxx , поэтому Я бы передал их все на сервер Django. И Django сказал, что не смог найти файл http://my_site.com/admin/login/static/admin/css/base.css
(это со страницы входа django admin). Но с моим Nginx файл http://my_site.com/static/admin/css/base.css
можно найти ... Где мне изменить в settings.py для сайта администратора?
Как правильно загрузить файлы stati c сайта администратора? Используйте сервер Nginx или Django?
Цените вашу помощь!