我正在尝试使用Bluemix Cloud Foundry和Python 3.5.3学习Django开发。
我此时正在运行一个hello world网站。但我无法获得像CSS这样的静态文件。
我认为我找到静态文件的设置不正确。
我的服务页面看起来像是:
我得到的是:
我在settings.py中使用Debug = True
在本地获得了正确的结果,但没有使用Debug = False
。无论Debug设置如何,当推送到Bluemix时,我都无法获得正确的结果。
我的项目文件夹设置如下:
django staticfiles应用程序位于我的Installed_Apps变量中。
在我的settings.py文件中,我有:
...
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# STATICFILES_DIRS = [
# os.path.join(BASE_DIR, 'bluemixsite/static'),
# os.path.join(BASE_DIR, 'bluemixapp/static'),
# ]
STATICFILES_DIRS似乎与查找静态文件无关。
模板页面(正在加载)包括以下内容:
...
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'bluemixapp/stylesheet.css' %}" />
</head>
....
使用Debug = False,在firefox中检查时,我可以在样式编辑器的本地和bluemix上看到此消息:
The requested URL /static/bluemixapp/stylesheet.css was not found on this server.
所以要么我没有正确位置的文件,要么Django无法解析服务器上静态文件的路径。
我尝试了将所有静态文件复制到project_root/static/
文件夹中的collectstatic命令,但这没有任何区别。
显然Bluemix拒绝运行linux终端(它们在启动时冻结或崩溃)所以我不能在服务器端做任何事情。
我无法将静态文件加载到单独的服务器上。
任何建议将不胜感激。