带有外部存储的 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 中使用带有外部存储的图像和缩略图进行数据库设计的最佳实践?

如何防止备份带有外部文件的 Core Data 数据库?

Core Data 删除外部存储实体不会释放 iCloud 中的空间

带有自定义文件系统的 Android 存储访问框架

外部存储的 UIImage 使应用程序陷入困境

Android webview - 如何从外部存储中获取文件