Static_Root в settings.py перенаправляет на мою статическую папку в приложении вместо базового корня - PullRequest
0 голосов
/ 29 июня 2018

Мне трудно развернуть проект на heroku, потому что он говорит, что не может найти статические файлы. Мои статические файлы находятся в приложении, называемом «социальным», в папке «статические», они не находятся в базовом каталоге, где manage.py находится.
--p_12 (папка) - settings.py
--social (папка) -static (папка) - css, изображения, javascript
--manage.py

Heroku Docs говорит, чтобы поставить это в ваших настройках.py:

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')   
STATIC_URL = '/static/'     
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

Итак, мой вопрос, как мне сделать так, чтобы это указывало на мою статическую папку в моем социальном приложении. Я честно пытался около часа на это. Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 29 июня 2018

Ладно. Вот в чем дело. Вы не хотите указывать свой статический корень в своей социальной сети. Это то, что говорит лучшая практика Джанго.

В соответствии с вашими текущими настройками (учитывая, что вы не изменили BASE_DIR). Вы говорите django искать статические файлы в папке с именем staticfiles , которая находится на корневом уровне.

project_root
|__manage.py
|__staticfiles
|__app_name
|__requirements.txt

при запуске

python manage.py collectstatic

django ищет все папки с именем static и копирует их содержимое и помещает их в static_root.

в вашем случае содержимое сбрасывается в статические файлы.

после запуска команды collectstaic в идеале это то, что вам нужно в вашей папке staticfiles.

staticfiles
|___app_1
|    |___css
     |___js
     |___images  
|
|___app_2
     |___css
     |___js
     |___images

Как только это произойдет, django сможет найти статические файлы в работе.

но чтобы это произошло. Убедитесь, что в вашем приложении хранятся такие статичные файлы.

app_name
|____static
        |___app_name
        |        |____css
                 |____js
                 |____images

Упорядочите файлы в этом формате и запустите collectstaic. убедитесь, что в staticfiles есть содержимое, указанное выше. у тебя должно быть хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...