【发布时间】:2021-09-23 02:58:22
【问题描述】:
我正在制作一个小型 Django 应用程序,我想在生产环境中使用通过 Django 管理面板上传的文件
这是来自我的 settings.py 文件
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
MEDIA_URL = ''
MEDIA_ROOT = BASE_DIR
我信任管理员上传的文件并希望轻松提供它们(无需 Amazon S3 和类似服务),因此我尝试将上传的文件与其他静态文件放在一起
image = models.ImageField(upload_to='static/images')
通过管理面板上传图像后,我在 DigitalOcean 控制台中运行 python manage.py collectstatic。每当我尝试访问图像时,我都会收到错误 404,而所有其他静态文件(它们是真正的静态文件,不是通过管理面板上传的)加载成功
我在本地做了同样的事情,没有问题,一切都按预期加载(DEBUG=True 在本地和 DigitalOcean 上都设置了)。是不是某些安全措施不会让上传的文件以静态形式结束?如果我信任通过管理面板上传的文件,如何绕过它?
【问题讨论】:
标签: python django digital-ocean