用于 OpenShift 的 Django cms 项目。在哪里放置静态文件?
Django cms project for OpenShift. Where to place static files?
我正在开发一个基于 django-cms 的网站,但在处理静态文件时遇到了问题。由于我要将站点部署到 OpenShift,因此我使用了 django-example 来构建站点 (https://github.com/openshift/django-example)。这样我就得到了我的 django 项目的以下总体结构:
root_folder
wsgi
- 媒体
- 静态
my_project
- my_app
- 模板
如您所见,它与标准的 Django 目录结构有点不同。 Django 文档 (https://docs.djangoproject.com/en/1.8/howto/static-files/) 告诉我以下内容:
- 在 INSTALLED_APPS 中包含 django.contrib.staticfiles:完成
- 定义静态 url,例如STATIC_URL = '/static/': 完成
- 使用静态模板标签来引用静态文件,例如{% static "my_app/myexample.jpg" %}:完成
此外,静态根定义为
STATIC_ROOT = os.path.join(WSGI_DIR, 'static')
其中 WSGI_DIR 指向名为 wsgi 的文件夹。
当我尝试从我的基本模板引用静态文件时,我在使用 Debug=True 的开发环境中不断收到 404。我曾尝试将它们放在以下位置,但没有成功:
/wsgi/static/
/wsgi/static/my_app/
/wsgi/my_project/static/
/wsgi/my_project/static/my_app/
/wsgi/my_project/my_app/static/
/wsgi/my_project/my_app/static/my_app/
静态文件应该放在哪里,我配置对了吗?
我发现 my_app 不在 INSTALLED_APPS 列表中(显然这不是我从 django-example 获得的代码结构的一部分)。当我将应用程序添加到列表时,它起作用了。静态文件的正确位置:/wsgi/my_project/my_app/static/my_app/
我正在开发一个基于 django-cms 的网站,但在处理静态文件时遇到了问题。由于我要将站点部署到 OpenShift,因此我使用了 django-example 来构建站点 (https://github.com/openshift/django-example)。这样我就得到了我的 django 项目的以下总体结构:
root_folder
wsgi
- 媒体
- 静态
my_project
- my_app
- 模板
如您所见,它与标准的 Django 目录结构有点不同。 Django 文档 (https://docs.djangoproject.com/en/1.8/howto/static-files/) 告诉我以下内容:
- 在 INSTALLED_APPS 中包含 django.contrib.staticfiles:完成
- 定义静态 url,例如STATIC_URL = '/static/': 完成
- 使用静态模板标签来引用静态文件,例如{% static "my_app/myexample.jpg" %}:完成
此外,静态根定义为
STATIC_ROOT = os.path.join(WSGI_DIR, 'static')
其中 WSGI_DIR 指向名为 wsgi 的文件夹。
当我尝试从我的基本模板引用静态文件时,我在使用 Debug=True 的开发环境中不断收到 404。我曾尝试将它们放在以下位置,但没有成功:
/wsgi/static/
/wsgi/static/my_app/
/wsgi/my_project/static/
/wsgi/my_project/static/my_app/
/wsgi/my_project/my_app/static/
/wsgi/my_project/my_app/static/my_app/
静态文件应该放在哪里,我配置对了吗?
我发现 my_app 不在 INSTALLED_APPS 列表中(显然这不是我从 django-example 获得的代码结构的一部分)。当我将应用程序添加到列表时,它起作用了。静态文件的正确位置:/wsgi/my_project/my_app/static/my_app/