我的所有用户都可以选择链接配置文件图片。有几个模板需要加载此配置文件图片。如果用户没有上传图片,我们使用默认值。当我想显示此资料图片,我的代码看起来像这样解析服务器上的静态URL
<img src="{% if user.profile_picture.search_thumbnail.url %}{{ user.profile_picture.search_thumbnail.url }}{% else %}{% static "alternate.jpg" %}{% endif %}">
这是办法,我太冗长,特别是考虑到我需要重复它在多个模板。我可以使用{%with%}块来存储user.profile_picture.search_thumbnail.url,但这对我来说无能为力。
我的解决方案是编写一个附加到用户模型的函数,该函数返回静态文件的url。不幸的是,{%static%}是一个模板函数。 {%url%}在服务器上有一个名为django.core.urlresolvers.reverse()的等效函数。 {%static%}标记是否存在替代方法?
如果有人问,我想使用静态函数,因为我的静态文件根据环境存储在不同的地方。我的开发机器在本地提供文件,而我的PRD机器从s3提供静态文件。
谢谢 尼克
''settings.STATIC_URL''? –
这是一个非常合理的建议 – Nick