视图中等效的Django staticfiles静态模板帮助器(Python代码)[重复]
Posted
技术标签:
【中文标题】视图中等效的Django staticfiles静态模板帮助器(Python代码)[重复]【英文标题】:Django staticfiles static tempalate helper equivalent in view (Python code) [duplicate] 【发布时间】:2017-11-25 13:07:12 【问题描述】:我有一个使用 ManifestStaticFilesStorage
的 Django 应用程序,在生产中静态资产通过 CDN 提供,并且在模板中正确设置了对它们的引用,例如
模板:
% load staticfiles %
<script type="text/javascript" src="% static 'some.js' %"></script>
呈现的 html:
<script type="text/javascript" src="https://example.com/some.abc123.js"></script>
是否可以在视图中获取静态资产的完全限定 URL? 我想要一个重定向到我的 CDN 上的静态资产的视图。
类似:
import django.http HttpResponseRedirect
def my_lovely_view(request):
static_asset_url = static('some.js') # does this fn exist?
# static_asset_url == 'https://example.com/some.abc123.js'
return HttpResponseRedirect(static_asset_url)
【问题讨论】:
当然我可以硬编码,但是我失去了 ManifestStaticFileStorage 提供的自动版本控制 【参考方案1】:from django.contrib.staticfiles.templatetags.staticfiles import static
static_asset_url = static('x.jpg')
试试这个
【讨论】:
以上是关于视图中等效的Django staticfiles静态模板帮助器(Python代码)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
django源码分析——静态文件staticfiles中间件