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

哪个模板标签包含使用django storage[dropbox]存储的图像,django,django-storage,Django,Django Storage,我尝试使用Django构建我的第一个应用程序,并使用Django存储在dropbox上存储媒体: DEFAULT_FILE_STORAGE = 'storages.backends.dropbox.DropBoxStorage' DROPBOX_OAUTH2_TOKEN = ---- mytoken ---- DROPBOX_ROOT_PATH = 'media' 直接使用模型上传和显示图像效果很好(例如,html模板中的{{{object.photo.url}}) 但是,如果没有对象,如何在

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

DEFAULT_FILE_STORAGE = 'storages.backends.dropbox.DropBoxStorage'
DROPBOX_OAUTH2_TOKEN = ---- mytoken ----
DROPBOX_ROOT_PATH = 'media'
直接使用模型上传和显示图像效果很好(例如,html模板中的
{{{object.photo.url}}

但是,如果没有对象,如何在模板中创建指向图像的链接

差不多

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


无法工作,因为它链接到本地主机(在我的本地服务器上)。是否需要重新定义媒体url,或者是否需要使用其他标记

我不确定在从dropbox访问图像时是否存在要使用的任何标记。我将使用Django中的自定义
过滤器解决此问题,因为这是区分
local
remote
的情况,并形成正确的
URL
以传递到
src
属性

您可以从中了解自定义
过滤器的工作原理。本质上,您需要一个自定义函数,该函数在远程/本地
URL
前面加上前缀

使用这样的函数,例如

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

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

我认为相对路径应该可以工作……我尝试使用dropbox链接,从开始。我想在某个地方需要调用存储模块。这是为模型对象自动完成的。您必须将媒体url发送到模板,或者您可以拥有一个视图和
路径('media/',name='media\u server')
,并在模板中使用此模板标记
{%url'media\u server'%}
谢谢!我使用了一个过滤器,里面有以下行:return storage.url(str)