我正在配置一个Django项目,该项目使用服务器文件系统来存储应用程序静态文件(STATIC_ROOT)和用户上传的文件(MEDIA_ROOT).
我现在需要在亚马逊的S3上托管所有内容,所以我为此创建了一个存储桶.使用django-storages与boto存储后端,我设法收集静态上传到S3斗:
MEDIA_ROOT = '/media/'
STATIC_ROOT = '/static/'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'KEY_ID...'
AWS_SECRET_ACCESS_KEY = 'ACCESS_KEY...'
AWS_STORAGE_BUCKET_NAME = 'bucket-name'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Run Code Online (Sandbox Code Playgroud)
然后,我遇到了一个问题:MEDIA_ROOT并且STATIC_ROOT没有在存储桶中使用,因此存储桶根目录包含静态文件和用户上载的路径.
那么我可以设置:
S3_URL = 'http://s3.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL + STATIC_ROOT
MEDIA_URL = 'S3_URL + MEDIA_ROOT
Run Code Online (Sandbox Code Playgroud)
并在模板中使用这些设置,但在S3中存储时,静态/媒体文件没有区别django-storages.
怎么做到这一点?
谢谢!
django amazon-s3 static-files django-settings django-storage
我在Heroku上部署了一个Django应用程序.我有一些模型并将一些数据插入数据库(SQLite数据库).但是,当我试图在一定时间后访问数据时,它显示一个空的数据库.我发现了一个类似于我的问题的问题 - > django heroku media files 404错误,我明白了,我应该将我的媒体文件保留在其他地方.
这里我的问题是数据库和我的问题是,我可以阻止我的SQLite数据库从这个数据丢失?