Skip to main content

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

Project description


📖 Full documentation: https://barttc.github.io/django-staticinline/
🐱 GitHub Repository: https://github.com/bartTC/django-staticinline

django-staticinline

Works similar to Django's static template tag, 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.9 3.10 3.11 3.12
3.2 (LTS)
4.0
4.1
4.2 (LTS)
5.0
5.1

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>{% staticinline "myfile.css" %}</style>
    My base64 encoded Key: {% staticinline "mykey.pem" encode="base64" cache=True %}
    
  3. Enjoy the result:

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

Changelog

v1.5 (2024-08-11)

  • Django 5.0, 5.1 compatibility and tests.
  • Python 3.12 compatibility and tests.
  • Type annotations.
  • Switch from pipenv to Poetry.

v1.4 (2023-04-29)

  • Django 3.2 to 4.2 compatibility and tests.
  • Python 3.8 to 3.11 compatibility and tests.

v1.3 (2018-08-15)

  • Added cache and cache_timeout templatetag arguments to store rendered values in cache.
  • Added data_response AppConfig method to globally override the template tag response.

v1.2 (2018-08-14)

  • Added support for Django 2.1 and Python 3.7.
  • Added proper documentation.
  • Added sri (Subresource Integrity) encoder to generate a sha256 for a given file.

v1.1 (2018-08-09)

  • Added support for custom data encoders to modify file content on the fly.
  • Added data and base64 encoders, both convert data into base64.

v1.0 (2018-04-29)

  • 🌟 Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_staticinline-1.5.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

django_staticinline-1.5-py3-none-any.whl (10.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page