您混淆了STATIC_URL和STATIC_ROOT变量。
STATIC_ROOT:需要指向要收集静态文件的目录。在这种情况下,似乎是PROJECT_PATH +’/ static /’。 此目录正确。
STATIC_URL:访问静态文件的URL。/ static /是正确的。
删除STATICFILES_DIRS变量。它不能与STATIC_ROOT相同,因为在收集静态文件时,它首先告诉Django在哪里查找静态文件,然后告诉Django在哪里存储静态文件。
如果您正在使用Openshift,如@ timo.rieber所指出的,您将需要一个action_hook进行部署,以告诉它收集静态文件。
您的static_root文件夹不能在项目中的任何位置,因为Openshift Web服务器找不到它。它应该在yourproject / wsgi / static <-–下(因此,这将是STATIC_ROOT变量值)。
正如我在另一个问题中已经回答过的那样,为Openshift从头开始一个新项目很痛苦。我写了一篇有关创建一个新项目以使其与Openshift一起使用的文章,您也可以访问那里引用的提交,这会将您重定向到一个有效的基本Openshift项目。您也可以从Openshift存储库下载基本项目,但它遵循旧的(但仍在运行)项目结构。您现在可以为python应用程序使用更简单的项目结构