collectstatic指向错误的目录

时间:2018-12-27 18:37:48

标签: python django python-3.x

我遇到了一个似乎无法找到根本原因的问题。

当我运行'collectstatic'命令时,找不到错误文件。我可以看到它试图将文件放在错误的目录中。

首先运行命令后,我得到了这个问题

  

您已请求在目标位置收集静态文件   根据您的设置中的指定:

/var/www/projects/foobar/foobar/static

哪个是对的。但是我得到这个错误:

  

FileNotFoundError:[错误2]没有这样的文件或目录:   '/ var / www / projects / foobar / foobar / foobar / static'

这就是'foobar'的一个目录。

这是我的制作设置:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

MEDIA_ROOT = '/var/www/projects/foobar/foobar/media'
MEDIA_URL = '/media/'

STATIC_ROOT = '/var/www/projects/foobar/foobar/static'
STATIC_URL = '/static/'

它为什么会添加一个额外的“ foobar”目录?

1 个答案:

答案 0 :(得分:1)

您在STATIC_ROOT中指定的路径可能不正确,使用os.path.join可以解决此错误,因为这是指定相对于项目目录的路径的更好方法。

请在您的代码中进行以下更改:

  

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

     

STATIC_URL ='/ static /'

,然后尝试再次运行您的项目。我建议对MEDIA_ROOT和MEDIA_URL也进行相同的更改,因为这是更好的编码做法。