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:
Setelah itu buat file app_filters.py sejajar dengan app.py, kemudian tambahkan fungsi custom filter, seperti misalnya dalam contoh berikut:
Kemudian panggil di html dengan terlebih dahulu memanggil file app_filters
Selesai...
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
Post a Comment