Статический файл Django не найден

Я изо всех сил пытаюсь использовать статическое файловое приложение в django 2.1.

С помощью django-admin findstatic файл найден:

$ sudo python3 /opt/bitnami/apps/django/django_projects/Project/manage.py findstatic --verbosity 2 leaflet/leaflet.css
Found 'leaflet/leaflet.css' here:
  /opt/bitnami/python/lib/python3.6/site-packages/leaflet/static/leaflet/leaflet.css

Используя приведенный ниже URL-адрес, мой браузер показывает «Запрошенный URL-адрес /Project/static/leaflet/leaflet.css не найден на этом сервере».:

http://myserver/Project/static/leaflet/leaflet.css

Однако, используя другой файл из другого каталога:

$ sudo python3 /opt/bitnami/apps/django/django_projects/Project/manage.py findstatic --verbosity 2 admin/css/fonts.css
Found 'admin/css/fonts.css' here:
  /opt/bitnami/apps/django/lib/python3.6/site-packages/Django-2.1.1-py3.6.egg/django/contrib/admin/static/admin/css/fonts.css

Файл доступен в моем браузере по адресу:

http://myserver/Project/static/admin/css/fonts.css

Edit1: если я создам любой файл в папке /opt/bitnami/apps/django/lib/python3.6/site-packages/Django-2.1.1-py3.6.egg/django/contrib/admin/static/admin / например, file.txt , я могу получить к нему доступ немедленно через URL-адрес http://myserver/Project/static/admin/file.txt

Edit2: доступ к http://myserver/Project/static/admin/ дает ошибку 403 при доступе http://myserver/Project/static/leaflet/ выдает ошибку 404

Что я могу сделать, чтобы устранить эту проблему?

Я использую ДЖАНГО 2.1

Мои настройки.py:

STATIC_URL = '/Project/static/'

Заранее спасибо.


person Stolken    schedule 27.10.2018    source источник
comment
при развертывании вы должны вызвать команду collectstatic   -  person vorujack    schedule 27.10.2018
comment
@vorujack, я создал параметр STATIC_ROOT, чтобы он указывал на пустой каталог, а затем запустил команду collectstatic. Файлы копируются, но я по-прежнему не могу получить доступ к файлу, такому как myserver/Project/static/leaflet/leaflet.css   -  person Stolken    schedule 27.10.2018


Ответы (1)


Я нашел проблему. Я надеюсь, что это кому-то поможет: в моем файле конфигурации apache был псевдоним, указывающий на /opt/bitnami/apps/django/lib/python3.6/site-packages/Django-2.1.1-py3.6.egg/django/contrib/ админ/статический . Это объясняет, почему статические файлы под администратором были доступны. Я изменил так, чтобы он указывал на мой STATIC_ROOT:

Alias /Project/static '/opt/bitnami/apps/django/django_projects/Project/staticfolder/'
<Directory /opt/bitnami/apps/django/django_projects/Project/staticfolder>
Require all granted
</Directory> 
person Stolken    schedule 28.10.2018