用于OpenShift的Django cms项目。静态文件放在哪里?

时间:2015-09-27 15:33:27

标签: django openshift django-cms

我正在开发一个基于django-cms的网站,但是静态文件有问题。当我要将站点部署到OpenShift时,我使用了django-example来构建站点(https://github.com/openshift/django-example)。这样我最终得到了django项目的以下整体结构:

  • ROOT_FOLDER

    • WSGI

      • 媒体
      • 静态
      • MY_PROJECT

        • my_app应用
        • 模板

如您所见,它与标准Django目录结构略有不同。 Django docs(https://docs.djangoproject.com/en/1.8/howto/static-files/)告诉我以下内容:

  1. 在INSTALLED_APPS中包含django.contrib.staticfiles:完成
  2. 定义静态网址,例如STATIC_URL =' / static /':完成
  3. 使用静态模板标记来引用静态文件,例如{%static" my_app / myexample.jpg" %}:完成
  4. 此外,静态根被定义为

    STATIC_ROOT = os.path.join(WSGI_DIR,'静态')

    其中WSGI_DIR指向名为wsgi的文件夹。

    当我尝试从我的基本模板引用静态文件时,我在我使用Debug = True的开发环境中继续获取404。我试图将它们放在以下位置而没有运气:

    / WSGI /静态/

    / WSGI /静态/ my_app应用/

    / WSGI / MY_PROJECT /静态/

    / WSGI / MY_PROJECT /静态/ my_app应用/

    / WSGI / MY_PROJECT / my_app应用/静态/

    / WSGI / MY_PROJECT / my_app应用/静态/ my_app应用/

    我应该在哪里放置静态文件,并且我是否正确配置了它?

1 个答案:

答案 0 :(得分:0)

我发现my_app不在INSTALLED_APPS列表中(显然这不是我从django-example获得的代码结构的一部分)。当我将应用程序添加到列表中时,它可以正常工作。静态文件的正确位置:/wsgi/my_project/my_app/static/my_app/