Skip to main content

A set of tools to help simplify your Django templates.

Project description

README

A set of tools to help simplify your Django templates

$ pip install django-template-simplify

Then add the app into INSTALLED_APPS in settings.py

INSTALLED_APPS = [
    ...,
    'template_simplify',
]

dom_id

dom_id is a helper method that returns a unique DOM ID based on the object's class name and primary key.

{% load template_simplify %}

{% dom_id instance %}               ->  task_1
{% dom_id instance 'detail' %}      ->  detail_task_1
{% dom_id Task %}                   ->  new_task
  1. dom_id first argument can be string, instance or Model class
  2. dom_id second argument is optional string that will be used as prefix.

You can also use it in your Django view code.

from template_simplify import dom_id

target = dom_id(instance, "detail_container")

We can say goodbye to id="task-{{ task.pk }}" and use id="{% dom_id task %}" instead.

The benefit is, it simplified the DOM ID generation in Python and Django template, and avoid typo error in many cases.

class_names

Inspired by JS classnames and Rails class_names

class_names can help conditionally render css classes

{% load template_simplify %}

<div class="{% class_names test1=True 'test2' ring-slate-900/5=True already-sign-in=request.user.is_authenticated %}"></div>

'<div class="test1 test2 ring-slate-900/5 dark:bg-slate-800 %}"></div>'

It can also work well with TailwindCSS's some special char such as / and :

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_template_simplify-1.0.2.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

django_template_simplify-1.0.2-py3-none-any.whl (4.0 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