找到了解决方案:
自定义模板标签
from django import template
from pipeline.templatetags.pipeline import StylesheetNode
from pipeline.utils import guess_type
from django.utils.safestring import mark_safe
from django.contrib.staticfiles.storage import staticfiles_storage
from django.template.loader import render_to_string
register = template.Library()
class MyStylesheetNode(StylesheetNode):
def render_css(self, package, path):
template_name = "pipeline/loadcss.html"
context = package.extra_context
context.update({
'type': guess_type(path, 'text/css'),
'url': mark_safe(staticfiles_storage.url(path))
})
return render_to_string(template_name, context)
@register.tag
def mytest(parser, token):
try:
tag_name, name = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError(
'%r requires exactly one argument: the name of a group in the PIPELINE.JAVASVRIPT setting' %
token.split_contents()[0])
return MyStylesheetNode(name)
/管道/loadcss.html
<link rel="preload" href="{{ url }}" as="style" onload="this.onload=null;this.rel='stylesheet'">