Django staticfiles静态tempalate helper等效于视图(Python代码)

时间:2017-06-22 10:04:28

标签: django static asset-pipeline django-1.9

我有一个使用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)

1 个答案:

答案 0 :(得分:0)

from django.contrib.staticfiles.templatetags.staticfiles import static

static_asset_url = static('x.jpg')

试试这个