Django сайту администратора не удалось загрузить файлы статистики c (CSS / JS), в то время как Nginx размещает файлы статистики c - PullRequest
0 голосов
/ 28 мая 2020

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?

Цените вашу помощь!

...