我如何在 Apache 中的 Django 中为生产提供媒体文件

时间:2021-04-05 18:12:39

标签: python django apache bitnami amazon-lightsail

我目前有一个在 amazon Lightsail 上运行的 Django 站点,
我运行了 python manage.py collectstatic 并且所有静态文件都运行良好,但我的媒体文件有问题..我无法上传到我的项目。下面是我的代码

settings.py

DEBUG = False

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

urls.py

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

/opt/bitnami/apache2/conf/vhosts/messages-http-vhost.conf(也为messages-https-vhost.conf进行了编辑)

<IfDefine !IS_MESSAGES_LOADED>
    Define IS_MESSAGES_LOADED
    WSGIDaemonProcess messages python-home=/opt/bitnami/python python-path=/opt/bitnami/projects/messages
  </IfDefine>
  <VirtualHost 127.0.0.1:80 _default_:80>
    ServerAlias *
    WSGIProcessGroup messages
    Alias /robots.txt /opt/bitnami/projects/messages/static/robots.txt
    Alias /favicon.ico /opt/bitnami/projects/messages/static/favicon.ico
    Alias /static/ /opt/bitnami/projects/messages/static/
    Alias /media/ /opt/bitnami/projects/messages/media/
    <Directory /opt/bitnami/projects/messages/static>
      Require all granted
    </Directory>
    <Directory /opt/bitnami/projects/messages/media>
      Require all granted
    </Directory>
    WSGIScriptAlias / /opt/bitnami/projects/messages/messages/wsgi.py
    <Directory /opt/bitnami/projects/messages/messages>
      <Files wsgi.py>
        Require all granted
      </Files>
    </Directory>
  </VirtualHost>

models.py

  message_audio = models.FileField(upload_to='audio/', null=True)
    message_image = models.ImageField(upload_to='message-pics/', null=True)

当我尝试上传文件时,我收到“服务器错误 (500)”

0 个答案:

没有答案