python - 我如何在 Apache 的 Django 中为生产提供媒体文件
问题描述
我目前有一个 Django 站点在 amazon lightsail 上运行,
我运行python manage.py collectstatic
的所有静态文件都运行良好,但我的媒体文件有问题..我无法上传到我的项目。以下是我的代码
设置.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/')
网址.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>
模型.py
message_audio = models.FileField(upload_to='audio/', null=True)
message_image = models.ImageField(upload_to='message-pics/', null=True)
当我尝试上传文件时,我得到“服务器错误(500)”
解决方案
推荐阅读
- javascript - Redux-persist,类型错误:未定义不是函数
- git - 当执行 git reset --soft HEAD~60 来压缩提交时,会删除已经完成的合并,应该避免谁?
- xero-api - 我无法使用 API 断开我的 xero 应用程序
- ios - 翻转和替换 UIView
- javascript - 我无法从客户端脚本多次调用服务器脚本中的函数
- flutter - Flutter GetX Get.back() 或 navigator.pop() 从内存中删除控制器并且无法重新创建它
- powershell - 创建新对象/表,格式正确?
- sql - 仅当匹配唯一时如何连接两个表
- r - 有没有办法克隆由 simmer 创建的“包装”对象?
- swift - 属性 X 不是 T 的成员