视图中的 Django staticfiles static tempalate helper 等价物(Python 代码)

Django staticfiles static tempalate helper equivalent in view (Python code)

我有一个使用 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)
from django.contrib.staticfiles.templatetags.staticfiles import static

static_asset_url = static('x.jpg')

试试这个