【发布时间】:2014-10-25 03:56:59
【问题描述】:
我用 Django 用 Python 开发了一个应用程序,我刚刚将它部署在 heroku 服务器上。
我的 settings.py 文件有这样的内容:
PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_PATH, 'static'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
当我运行这个命令时:
heroku run python manage.py collectstatic --noinput
我收到以下错误:
OSError: [Errno 2] No such file or directory: '/app/nameOfApp/static'
模板中的 url 指向之前存储的文件,例如模板文件中具有此类 url 的 CSS 和 javascript 文件:
<script type="text/javascript" src="{% static "javascripts/jquery.min.js" %}" ></script>
服务正常,但通过管理面板上传的新文件与静态文件夹中的先前文件未存储在同一位置,即新上传的文件应与其他静态文件存储在同一文件夹中,例如CSS 和 JavaScript,
问题: 那么我应该如何修改settings.py文件才能正常工作呢?
【问题讨论】:
-
上传的文件?媒体设置呢?
-
@rajasimon MEDIA_ROOT 和 MEDIA_URL 是空的,我应该放什么?顺便说一句,当我在本地运行代码时它们也是空的,但它曾经在本地工作
标签: django heroku django-staticfiles static-files