我正在使用基于django-cms的网站,但遇到了静态文件的问题。正如我打算将站点部署到OpenShift一样,我使用django示例来构建站点(https://github.com/openshift/django-example)。这样,我结束了我的Django项目的下列整体结构:OpenShift的Django cms项目。在哪里放置静态文件?
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 /':完成
- 使用静态模板标记来引用静态文件。 {%静态 “程序my_app/myexample.jpg” %}:完成
此外,静态根被定义为
STATIC_ROOT = os.path.join(WSGI_DIR, '静态')
WSGI_DIR指向名为wsgi的文件夹。
当我尝试从我的基本模板中引用静态文件时,我一直在使用Debug = True的开发环境中获取404s。我曾试图将它们放置在没有运气以下位置:
/WSGI /静态/
/WSGI /静态/ my_app应用/
/WSGI/MY_PROJECT /静态/
/WSGI/MY_PROJECT /静态/ my_app应用/
/WSGI/MY_PROJECT/my_app应用/静态/
/WSGI/MY_PROJECT/my_app应用/静态/ my_app应用/
我应该在哪里放置静态文件,并且配置正确?
您运行过'./manage.py collectstatic'吗? – GwynBleidD
我是否需要在dev中使用'Debug = True'来做到这一点?我正在讨论的静态文件是一些自定义文件,它们被手动放置在静态文件夹中,因此没有任何东西可以收集。无论如何,我尝试运行collectstatic并且它没有区别(它只是从我安装的所有应用程序中收集静态文件,这是没有必要的,因为他们已经工作得很好) – ebug