首页 > 解决方案 > 为什么 collectstatic 不复制我的所有目录?

问题描述

目前正在为我的 django 网站进行部署。我试图让我的静态文件正常工作,所以很明显我使用了这个命令:python manage.py collectstatic. 一旦完成运行它打印119 files copied...我认为这是工作,直到我 cd'd 进入新创建的static目录并且没有找到我的css文件夹。奇怪的是,我确实看到了admin文件夹。看到这一点后,我static完全删除了我的文件夹并尝试使用scp. 我这样做了,我的所有其他文件夹(css、上传等,还有 admin 文件夹)都出现了。我现在尝试collectstatic使用那里的所有文件夹,只是为了找出我这样做的时间,它会删除我的所有文件夹,除了admin文件夹。当我使用 runserver 命令启动网站时。我的主页上没有css,但管理页面中有。

这就是取景器中一切的样子。

(projectname) ——— env
              ——— excelsite
              ——— pages
              ——— templates
              ——— (settings folder)
              ——— static ——— css, uploads, admin
              ——— manage.py
              ——— db.sqlite3

这是我的settings.py

STATIC_ROOT = "/home/alexholst/excelsite/static"
STATIC_URL = '/static/'

#STATICFILES_DIRS = ("/home/alexholst/excelsite/static",)

#STATICFILES_DIRS = (
#    os.path.join('static'),
#    'static',
#)

很感谢任何形式的帮助!!

提前致谢!

标签: pythondjangoservercollectstatic

解决方案


你需要在里面配置settings.py

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

并在那里添加您的应用程序的静态目录。

请参阅https://docs.djangoproject.com/en/3.0/howto/static-files/


推荐阅读