哪个模板标签包含使用 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
来解决这个问题,因为它是区分 local
和 remote
并形成正确的 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(如您定义的那样)。
我尝试使用 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
来解决这个问题,因为它是区分 local
和 remote
并形成正确的 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(如您定义的那样)。