【发布时间】:2015-12-24 21:44:35
【问题描述】:
我正在开发一个基于 django-cms 的网站,但在处理静态文件时遇到了问题。当我要将站点部署到 OpenShift 时,我使用了 django-example 来构建站点 (https://github.com/openshift/django-example)。这样我就得到了我的 django 项目的以下整体结构:
-
根文件夹
-
wsgi
- 媒体
- 静态
-
我的项目
- 我的应用程序
- 模板
-
如您所见,它与标准的 Django 目录结构有点不同。 Django 文档 (https://docs.djangoproject.com/en/1.8/howto/static-files/) 告诉我以下内容:
- 在 INSTALLED_APPS 中包含 django.contrib.static 文件:完成
- 定义一个静态 url,例如STATIC_URL = '/static/':完成
- 使用静态模板标签来引用静态文件,例如{% static "my_app/myexample.jpg" %}:完成
此外,静态根定义为
STATIC_ROOT = os.path.join(WSGI_DIR, 'static')
其中 WSGI_DIR 指向名为 wsgi 的文件夹。
当我尝试从基本模板中引用静态文件时,我在使用 Debug=True 的开发环境中不断收到 404。我试图将它们放置在以下位置,但没有成功:
/wsgi/静态/
/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/
我应该把静态文件放在哪里,我是否正确配置了它?
【问题讨论】:
-
你跑
./manage.py collectstatic了吗? -
我需要在使用
Debug=True的开发人员中执行此操作吗?我所说的静态文件是一些手动放置在静态文件夹中的自定义文件,因此没有什么可收集的。无论如何,我尝试运行 collectstatic 并没有什么区别(它只是从我所有已安装的应用程序中收集静态文件,这不是必需的,因为它们已经可以正常工作了)
标签: django openshift django-cms