django-staticinline

Django template tag to load static files inline with your template.


Keywords
django, staticfiles, inline, performance
License
MIT
Install
pip install django-staticinline==1.0.2

Documentation

https://github.com/bartTC/django-staticinline/actions/workflows/test.yml/badge.svg?branch=master

django-staticinline

Works similar to Django's static templatetag, but this one includes the file directly in the template, rather than a link to it.

You can additionally post-process the file content using custom 'encoder'.

Compatibility Matrix:

Py/Dj 3.8 3.9 3.10 3.11
2.2 (LTS)
3.2 (LTS)
4.0
4.1
4.2 (LTS)

Quickstart

  1. Put the StaticInlineAppConfig along your apps.

    INSTALLED_APPS = [
        # ...
        'staticinline.apps.StaticInlineAppConfig',
    ]
  2. Load the template tag and pass a filename as you'd do with a static template tag. You can also post-process the file content. In the example below we encode the content of the mykey.pem file with base64. Several encoders are already built-in, see the Encoder docs.

    {% load staticinline %}
    
    <style type="text/css">{% staticinline "myfile.css" %}</style>
    My base64 encoded Key: {% staticinline "mykey.pem" encode="base64" cache=True %}
  3. Enjoy the result:

    <style type="text/css">body{ color: red; }</style>
    My base64 encoded Key: LS0tIFN1cGVyIFByaXZhdGUgS2V5IC0tLQo=