在openshift上Django部署app的理想目录结构是什么?

时间:2015-02-25 14:28:13

标签: python django openshift

我使用第一个问候消息在开放班次中成功部署我的应用程序,但现在是
我想要一个理想的目录结构,以便在openshift上进行部署。谢谢

2 个答案:

答案 0 :(得分:0)

检查来自Openshift的django-example回购。您有一个示例项目,您可以从中获得项目结构。

答案 1 :(得分:0)

project
    appname-1/
    appname-2/
    appname-n/
    static/ # to store your static files
    project/
        wsgi.py # file created by django-admin startproject
    templates/
    wsgi/
        static/ # in your settings.py set this folder as your STATIC_ROOT
    manage.py
    setup.py # file created by openshift python cartridge
    wsgi.py # file created by openshift python cartridge

当您对openshift遥控器执行git push时,所有这些文件和文件夹都将在$ OPENSHIFT_REPO_DIR中创建。特殊文件夹$OPENSHIFT_REPO_DIR/wsgi/static用于绕过wsgi并使用apache直接提供文件。因此,您必须将此文件夹设置为STATIC_ROOT以收集所有静态文件。

另外,对于存储用户上传的文件,您应该在$ OPENSHIFT_DATA_DIR下创建一个文件夹。例如,$OPENSHIFT_DATA_DIR/media。此文件夹将在未来的部署中保留。

如果您为数据库使用sqlite3,则您的设置应为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(os.getenv($OPENSHIFT_DATA_DIR), 'media'),
    }
}