Skip to main content

Add more bracket angles to Django templates </>

Project description

dj-angles </>

Add more bracket angles to Django templates

PyPI PyPI - Downloads GitHub Sponsors

⭐ Features

  • Use HTML-like elements in Django templates, e.g. <dj-partial /> instead of {% include 'partial.html' %}
  • Wraps include templates in a custom element for easier debugging and targeted CSS styling
  • Can be sprinkled in as needed to enhance existing Django functionality
  • Since it looks like HTML, syntax highlighting mostly "just works"
  • Integrates with Django component libraries like django-bird
  • Lets you excitedly tell your friends how neat the Shadow DOM is
  • Pretend like you are writing React components, but without dealing with JavaScript at all

💥 Example

base.html

<dj-block name='content'>
</dj-block name='content'>

index.html

<dj-extends parent='base.html' />  <!-- {% extends 'base.html' %} -->

<dj-block name='content'>  <!-- {% block content %} -->
  <dj-include template='partial.html' />  <!-- {% include 'partial.html' %} -->

  <dj-verbatim>  <!-- {% verbatim %} -->
    This is verbatim: {% include %}
  </dj-verbatim>  <!-- {% endverbatim %} -->

  <dj-comment>  <!-- {% comment %} -->
    this is a comment
  </dj-comment>  <!-- {% endcomment %} -->

  <dj-autoescape-on>  <!-- {% autoescape-on %} -->
    This is escaped
  </dj-autoescape-on>  <!-- {% endautoescape %} -->

  <dj-autoescape-off>  <!-- {% autoescape off %} -->
    This is not escaped
  </dj-autoescape-off>  <!-- {% endautoescape %} -->

  <dj-csrf />  <!-- {% csrf_token %} -->
  
  <dj-debug />  <!-- {% debug %} -->

  <dj-image src='img/django.jpg' />  <!-- <img src="{% static 'img/django.jpg' %}" /> -->
  <dj-css href='css/styles.css' />  <!-- <link href="{% static 'css/styles.css' %}" rel="stylesheet" /> -->
</dj-block name='content'>  <!-- {% endblock content %} -->

partial.html

<div>
  This is a partial: {{ now|date:"c" }}
</div>

📖 Documentation

To learn more about how to install and use dj-angles go to https://dj-angles.adamghill.com/.

✨ Inspiration

I have been interested in Django components and encapsulating functionality for a long time (see django-unicorn, dlitejs, etc), but had never thought of using HTML directly until I looked at Cotton by wrabit. dj-angles takes the initial idea further to see how well it works.

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

dj_angles-0.10.0.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

dj_angles-0.10.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file dj_angles-0.10.0.tar.gz.

File metadata

  • Download URL: dj_angles-0.10.0.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.7

File hashes

Hashes for dj_angles-0.10.0.tar.gz
Algorithm Hash digest
SHA256 7ee8f88f1a42923ba4387a089f425a1e611de297de883618ec6da78a5c1a58c2
MD5 ecbe60f4a112fd7f1855d14df9544c0a
BLAKE2b-256 694c69621b4febfaca6c63bf5543811b2c8dd6d1dc7db4addcf09c64f4e92dc9

See more details on using hashes here.

File details

Details for the file dj_angles-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: dj_angles-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.7

File hashes

Hashes for dj_angles-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce01ae53606aac2f15f0311cab6578c8e02e82197b28c9ab20fe3d876beca6d2
MD5 5a201a7dc1673dbfb71b3835efddb7f3
BLAKE2b-256 d89ce36dfe95ce7f052daf4af093a242b8285ecbe8fcbd23988fca28a61d335c

See more details on using hashes here.

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