Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 Heroku Django应用程序未加载静态文件(未找到404)_Python_Django_Heroku_Deployment - Fatal编程技术网

Python Heroku Django应用程序未加载静态文件(未找到404)

Python Heroku Django应用程序未加载静态文件(未找到404),python,django,heroku,deployment,Python,Django,Heroku,Deployment,我一直在尝试在heroku上部署django应用程序。但是,它无法获取静态文件。我在heroku上运行了collecstatic,在应用程序的根目录中有一个static文件夹,其中包含正确的文件: ~/static/rest\u framework/css/bootstrap.min.css Settings.py: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') 卷曲: Django不支持在生产环境

我一直在尝试在heroku上部署django应用程序。但是,它无法获取静态文件。我在heroku上运行了
collecstatic
,在应用程序的根目录中有一个
static
文件夹,其中包含正确的文件:
~/static/rest\u framework/css/bootstrap.min.css

Settings.py:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
卷曲:


Django不支持在生产环境中提供静态文件。然而,这个奇妙的项目可以集成到您的Django应用程序中,它的设计正是出于这个目的

pip install whitenoise    
将whitenoise添加到requirements.txt 在app/wsgi.py中添加此代码

from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)

我花了几个小时才弄明白这一点@VipinMohan解决方案适用于whitenoise将collectstatic添加到Procfile

web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug

由于此堆栈溢出,如果使用v4.0或更高版本,则应更改WhiteNoise配置。 请参阅此

可能的副本
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
     # the next line of code is the one that solved my problems
    'whitenoise.middleware.WhiteNoiseMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware'
]
web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug