django静态文件错误404-aws lightsail

django静态文件错误404-aws lightsail,django,postgresql,psycopg2,django-staticfiles,amazon-lightsail,Django,Postgresql,Psycopg2,Django Staticfiles,Amazon Lightsail,我跟随amazon文档了解如何 我的设置.py DEBUG = False ALLOWED_HOSTS = ['X.XXX.XXX.XXX'] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'postgres', 'HOST': 'localhost', 'PORT': '5432',

我跟随amazon文档了解如何

我的设置.py

DEBUG = False

ALLOWED_HOSTS = ['X.XXX.XXX.XXX']

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'HOST': 'localhost',
        'PORT': '5432',
        'USER': 'postgres',
        'PASSWORD': 'mypass'
    }
}

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'cms/static')
]
我使用了
'Host':'localhost'
,因为
'Host':'/opt/bitnami/postgresql/,
给了我这个错误,我问了一个问题:

python manage.py collectstatic--noinput
工作正常,就像在我的笔记本电脑中一样

我在
url.py中添加了静态根目录:

urlpatterns = [
    path('', include('myapp.urls')),
    .
    .
    
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
/opt/bitnami/apache2/conf/vhosts
下,我创建了两个文件:

cms-http-vhost.conf

<IfDefine !IS_CMS_LOADED>
  Define IS_CMS_LOADED
  WSGIDaemonProcess cms python-home=/home/bitnami/py37-venv/ python-path=/home/bitnami/project/cms
</IfDefine>
<VirtualHost 127.0.0.1:80 _default_:80>
  ServerAlias *
  WSGIProcessGroup cms
  Alias /robots.txt /home/bitnami/project/cms/static/robots.txt
  Alias /static/ /home/bitnami/project/cms/static/
  <Directory /home/bitnami/project/cms/static>
    Require all granted
  </Directory>
  WSGIScriptAlias / /home/bitnami/project/cms/cms/wsgi.py
  <Directory /home/project/cms/cms>
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>
</VirtualHost>
我使用
python manage.py runserver 0.0.0.0:8000
运行项目,终端中的每个stataic文件都会出现404错误:

"GET /static/img/showcase.jpg HTTP/1.1" 404 179
如果我将调试模式更改为
True
每个静态文件都将正确加载

我也检查了一下,但是他们没有帮助。

在中找到了我的答案

urls.py
中,我添加了这一行:

from django.views.static import serve 
在URL模式中添加这两个URL:

url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}), 
url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),
url(r'^media/(?P.*),serve,{'document_root':settings.media_root}),
url(r'^static/(?P.*),serve,{'document\u root':settings.static\u root}),
当DEBUG=FALSE时,静态文件和媒体文件都可以访问

from django.views.static import serve 
url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}), 
url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),