Django 3.2.8: 0 статических файлов скопировано в '/static'
Эта ошибка возникает при выполнении команды python manage.py collectstatic
:
0 статических файлов скопировано в '/home/project'.
Это означает, что нет никаких изменений и мои статические файлы уже существуют в месте назначения, но в этой папке только один файл:
static/
- staticfiles.json
Но я хочу, чтобы все мои CSS, js, HTML для админ панели были в ней.
Настройки Django:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "/static/")
STATICFILES_DIRS = (
STATIC_ROOT,
)
urls.py
...
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Я также пробовал эти 1, 2, но результатов не было.
settings.py
import os
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
urls.py
urlpatterns = [
path('demo/',Demo.as_view(),name='demo')
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + static(settings.MEDIA_URL, document_root=settings.STATIC_ROOT)
Добавьте свой файл в папку-. static->demo_folder->staticfiles.json
python3 manage.py collecstatic
Определите все пути с STATICFILES_DIRS
, где Django будет искать статические файлы.
Например:
STATICFILES_DIRS = [os.path.join(BASE_DIR, "templates/staticfiles")]
Когда вы запустите collectstatic
, Django скопирует все найденные файлы во всех ваших путях из STATICFILES_DIRS
в STATIC_ROOT
.
В вашем случае Django скопирует все файлы в:
STATIC_ROOT = os.path.join(BASE_DIR, "/static/")
После этого ваши статические файлы доступны через определенный вами STATIC_URL
URL. В вашем случае:
STATIC_URL = '/static/'