A Django template tag that combines the functionality of 'with' and 'if'.
Project description
django-whiff
django-whiff is a simple Django template tag that combines the functionality of the with and if tags, inspired by the Python walrus operator (:=). It allows you to assign a variable and immediately check if it is truthy, rendering content if it is.
Example
{% load whiff %}
{% whiff current_user as user %}
<h1>Welcome back, {{ user.first_name }} {{ user.last_name }}!</h1>
<p>Your last login was on {{ user.last_login|date:"F j, Y, g:i a" }}.</p>
<h2>Your Profile</h2>
<ul>
<li>Email: {{ user.email }}</li>
<li>Joined: {{ user.date_joined|date:"F j, Y" }}</li>
<li>Bio: {{ user.bio }}</li>
</ul>
{% endwhiff %}
Features
- Combines
withandifin a single template tag. - Simplifies template logic by reducing the need for nested tags.
- Easy to use and integrate into existing Django projects.
Caveats
- Not a great contender to replace multiple pipes or conditions in an existing template tag
Installation
You can install django-whiff via pip:
pip install django-whiff
Usage
Once installed, add django_whiff to your INSTALLED_APPS in your Django settings:
INSTALLED_APPS = [
...
'django_whiff',
...
]
Note the underscore, not hyphen.
How It Works
- The
whifftag assigns the value ofsome_objtoobj. - If
some_objis truthy, the content inside thewhiffblock is rendered. - If
some_objis falsey, nothing is rendered.
Tests
python -m unittest discover -s tests
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Contributing
Contributions are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository.
Acknowledgements
Inspired by the Python walrus operator (:=) and the need for cleaner, more concise template logic.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_whiff-0.1.1.tar.gz.
File metadata
- Download URL: django_whiff-0.1.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
748199d2e81948bde4b7018ab39f65fc355e9d817f4c711f80ee8c9ced908a9a
|
|
| MD5 |
9d80ef9b461718360e3436eec60da1ed
|
|
| BLAKE2b-256 |
68ff78f2a1019ea081b2c6ed4a1859ec6cb23565b1da52ddf2dac6c926dec811
|
File details
Details for the file django_whiff-0.1.1-py3-none-any.whl.
File metadata
- Download URL: django_whiff-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef52ca3099d98027ab80212f3a0fcbc1ed4d36f8db418d626f19d34d61ddd96e
|
|
| MD5 |
28b6d5b14ff9e605ef931074490fb616
|
|
| BLAKE2b-256 |
d3200d655cbe0f881423cfa73589985d4de6c854702148e855e6603acec505f3
|