哪个模板标签包含使用 django-storage[dropbox] 存储的图像

Which template tag to include an image stored using django-storage[dropbox]

我尝试使用 Django 构建我的第一个应用程序,并使用 django-storage 将我的媒体存储在 dropbox 上:

DEFAULT_FILE_STORAGE = 'storages.backends.dropbox.DropBoxStorage'
DROPBOX_OAUTH2_TOKEN = ---- mytoken ----
DROPBOX_ROOT_PATH = 'media'

直接使用模型上传和显示图像效果很好(例如 html 模板中的 {{ object.photo.url }} 有效)

但是,如果我没有对象,我如何为模板中的图像创建link。

类似于

<img  src="{{media_url}}myimage.jpg">

不工作,因为它 links 到本地主机(在我的本地服务器上)。是需要重新定义 media_url 还是有别的标签可以使用?

我不确定在从保管箱访问图像时是否存在要使用的任何标签。我会在 Django 中使用自定义 filters 来解决这个问题,因为它是区分 localremote 并形成正确的 URL 传递给 [=15= 的情况]属性。

您可以从 docs here 中了解自定义 filter 的工作原理。本质上,您需要一个自定义函数,它在 remote/local URL 之前。

例如使用这样的函数

@register.filter
@stringfilter
def prepend(str):
    url = "" #defien your remote url here
    return "{}{}".format(url, str)

然后您从模板调用此函数,这将为您提供正确的 url(如您定义的那样)。