【发布时间】:2022-01-25 02:00:19
【问题描述】:
执行命令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)
【问题讨论】:
-
STATICFILES_DIRS不应包含STATIC_ROOT,当您尝试运行collectstatic时,您不会收到错误提示吗? -
@IainShelvington 编号输出为
0 static files copied to '/static'. -
你从
python manage.py version得到什么输出?您应该从 STATIC_ROOT 的连接中删除前导斜杠,否则您从文件系统的根目录将其设置为“/static”:STATIC_ROOT = os.path.join(BASE_DIR, "static") -
您好@Saeed 尝试将您的
STATICFILES_DIRS转换为列表而不是元组我知道这很奇怪,但是当您运行python manage.py collectstatic时,它会给您根目录的路径,而不是它应该给您的路径STATIC_ROOT 例如。0 static files copied to '/home/project/static'. -
@AnkitTiwari 谢谢你的回答。你是对的。我的一些设置在其他地方有误。
标签: django django-admin collectstatic django-static