1

执行命令时出现此错误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,
) 

网址.py

...
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

我也尝试了这些1 , 2 但没有找到结果。

4

2 回答 2

1

设置.py

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

网址.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 集体静态

于 2021-12-24T13:31:56.440 回答
0

STATICFILES_DIRS定义Django 查找静态文件的所有路径。例如:

STATICFILES_DIRS = [os.path.join(BASE_DIR, "templates/staticfiles")]

当你运行时collectstatic,Django 会将所有找到的文件从你的所有路径中复制STATICFILES_DIRSSTATIC_ROOT.

在您的情况下,Django 会将所有文件复制到:

STATIC_ROOT = os.path.join(BASE_DIR, "/static/")

之后,您的静态文件可以通过您定义的STATIC_URLURL 访问。在你的情况下:

STATIC_URL = '/static/'
于 2021-12-24T14:14:13.443 回答