Menambahkan Django Custom Template Filter Tanpa App

Bingung juga mau kasih judul, intinya sih aplikasi django saya ini tidak mengikuti pakem django-admin startproject maupun startapp, tapi hanya berupa 1 buah file tunggal, app.py. Kalau menggunakan startapp, untuk menambahkan custom filter cukup dengan membuat direktori templatetags yang isinya __init__.py dan module yang berisi dari custom filter kita. Nah, bagaimana kalau tanpa startapp?



Setelah baca-baca dokumentasi, untuk membuat custom filter sebenarnya sangat mudah, cukup menambahkan dict berikut di settings.py bagian TEMPLATE:
TEMPLATES=[
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'libraries': {
'app_filters': 'app_filters',
},
}
}
],

Setelah itu buat file app_filters.py sejajar dengan app.py, kemudian tambahkan fungsi custom filter, seperti misalnya dalam contoh berikut:
from django import template

register = template.Library()

@register.filter
def removedash(value):
return value.replace('-', ' ')

Kemudian panggil di html dengan terlebih dahulu memanggil file app_filters
{% load app_filters %}

{{ d.title|removedash }}

Selesai...

 

Comments

Popular posts from this blog

Adding Image Alternate Text into WordPress Image Attachment using python-wordpress-xmlrpc Library

Keutamaan Tidur yang Sedikit Menurut para Ulama

Kisah Nabi Uzair a.s.