Ошибка «Отказано в доступе» при выполнении команды collectstatic - PullRequest
0 голосов
/ 05 октября 2019

Я развертываю свой проект django на digitalocean. Пока он работает правильно на моей машине разработки, но при запуске на сервере он не показывает статические файлы.

not showing static files

мои настройкидля статических файлов:

STATIC_URL = '/static/'
STATIC_ROOT='/home/gagan_sapora/myprojectdir/saporawebapp/static/'

для устранения неполадок, я запускаю команду collectstatic, но она показывает ошибку с отказом в разрешении.

Редактировать 1: - Соответствующая ошибка: - Проверьте ошибку здесь Я пытаюсь изменить владельца, но он печатает

No Such file or directory

структура файла моего проекта:

Project
|-Project
|-app
|-static
    |-fonts
    |-images
    |-js
    |-styles
|-manage.py

Редактировать 2: -

мои настройки. Пи файл,

STATIC_URL = '/static/'
STATIC_ROOT='../static/'

MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

После просмотра возможных ошибок и небольшого обсуждения с @rsmoji, это проблема с разрешениями, так как я выполняю команду как пользователь sudo, поэтому мне нужно изменить разрешение папки, используя

sudo chmod 777 static

Это решит проблему. Надеюсь, это поможет кому-то в будущем

0 голосов
/ 05 октября 2019

Здесь есть (как минимум) 2 отдельные проблемы.

Когда DEBUG=True, Django обслуживает статические файлы самостоятельно - он не проходит по пути collectstatic / STATIC_ROOT [0]. Поэтому тот факт, что он не может найти smallly.jpg, указывает на то, что этот файл отсутствует на сервере. Можете ли вы дважды проверить, что файл действительно существует на вашем сервере DigitalOcean?

Эта ошибка прав доступа при запуске collectstatic представляет собой другую проблему, которая, вероятно, связана с владельцем каталога, указанного в STATIC_ROOT,Проверьте, какой пользователь владеет этим каталогом с помощью ls -l, и если это не тот пользователь, который запускает проект Django (обычно www-data), тогда вам нужно будет сделать sudo chown -R www-data:www-data /path/to/static/root.

[0] https://docs.djangoproject.com/en/2.2/howto/static-files/#serving-static-files-during-development

...