带有外部存储的 url.py settings.py 和 Dropbox
Posted
技术标签:
【中文标题】带有外部存储的 url.py settings.py 和 Dropbox【英文标题】:url.py settings.py with external storage with dropbox 【发布时间】:2020-11-09 11:47:45 【问题描述】:我想使用 Dropbox 作为外部存储。我已经为此工作了一周,我认为发现了问题。
url.py 有:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Settings.py 包含:
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static")
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
DEFAULT_FILE_STORAGE = "storages.backends.dropbox.DropBoxStorage"
DROPBOX_OAUTH2_TOKEN = #mytoken
我得到错误:
ApiError('d5b8d0d14e950566defb5ca736ebda9a', GetTemporaryLinkError('path', LookupError('not_found', None)))
因为它在那里找不到静态:
<img src="% static 'logo.png' %" height = 300></img>
如何配置 STATIC_ROOT 和 STATIC_URL(以及 MEDIA_ROOT/MEDIA_URL)以链接到保管箱 url?我期待类似的东西: STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
提前谢谢你。
【问题讨论】:
【参考方案1】:如果你有这样的模型:
class MyModel(models.Model)
photo = models.ImageField(upload_to="photos")
使用 MyModel.photo
访问照片,因为它包含指向保管箱中照片的 URL。
【讨论】:
以上是关于带有外部存储的 url.py settings.py 和 Dropbox的主要内容,如果未能解决你的问题,请参考以下文章
在 S3 中使用带有外部存储的图像和缩略图进行数据库设计的最佳实践?