Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django 1.10中使用collect static时出现Heroku错误_Python_Django_Heroku_Collectstatic - Fatal编程技术网

Python 在Django 1.10中使用collect static时出现Heroku错误

Python 在Django 1.10中使用collect static时出现Heroku错误,python,django,heroku,collectstatic,Python,Django,Heroku,Collectstatic,我的应用程序在本地计算机上正常运行,我可以运行 python manage.py collectstatic --noinput 没有错误。但在构建过程结束时,当推送到Heroku时,我得到以下错误: $ python manage.py collectstatic --noinput Traceback (most recent call last): File "manage.py", line 22, in <module> execute

我的应用程序在本地计算机上正常运行,我可以运行

python manage.py collectstatic --noinput
没有错误。但在构建过程结束时,当推送到Heroku时,我得到以下错误:

$ python manage.py collectstatic --noinput
    Traceback (most recent call last):
      File "manage.py", line 22, in <module>
        execute_from_command_line(sys.argv)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
        utility.execute()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 345, in execute
        output = self.handle(*args, **options)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 193, in handle
        collected = self.collect()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 115, in collect
        for path, storage in finder.list(self.ignore_patterns):
      File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 112, in list
        for path in utils.get_files(storage, ignore_patterns):
      File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files
        directories, files = storage.listdir(location)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/storage.py", line 399, in listdir
        for entry in os.listdir(path):
    OSError: [Errno 2] No such file or directory: '/tmp/build_732715d9b29ba88f9eb56ca3d7e722de/MY_REAL_APP_NAME/static'
和我的wsgi.py文件:


当我运行heroku本地web时,这一切似乎都可以在我的本地运行。知道什么可能导致collect静态错误吗?

DJANGO中的静态文件处理

在settings.py中

import os
def root(folder):
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), '..',folder)
在项目根目录中创建静态/媒体文件夹

MEDIA_ROOT = root('media')
MEDIA_URL = '/media/'
STATIC_ROOT = root('staticstorage')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    root('static'),
)
project root url.py project/project/url.py[django版本1.10如果不使用此版本,请参考]

from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

让您在本地计算机上运行python manage.py collectstatic,如果它是在您的项目中创建的staticstorage目录,那么就完成了。。。。继续部署……。

您是否在Django项目文件夹中创建了静态文件夹?如果不是,则使用空文件创建一个。看看Heroku文档中的示例存储库和这个空的路径,我有它。它充满了我的引导文件和图像。你能显示你的项目目录结构吗?
MEDIA_ROOT = root('media')
MEDIA_URL = '/media/'
STATIC_ROOT = root('staticstorage')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    root('static'),
)
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)