blob: e666e3adba834ff3cc1361dc98b035a420488409 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
from django import template
from django.contrib.staticfiles.storage import staticfiles_storage
from django.templatetags.static import StaticNode
register = template.Library()
def static(path):
return staticfiles_storage.url(path)
class StaticFilesNode(StaticNode):
def url(self, context):
path = self.path.resolve(context)
return static(path)
@register.tag('static')
def do_static(parser, token):
"""
A template tag that returns the URL to a file
using staticfiles' storage backend
Usage::
{% static path [as varname] %}
Examples::
{% static "myapp/css/base.css" %}
{% static variable_with_path %}
{% static "myapp/css/base.css" as admin_base_css %}
{% static variable_with_path as varname %}
"""
return StaticFilesNode.handle_token(parser, token)
|