फिल्टर वास्तव में बहुत उपयोगी हैं, Django में कई अंतर्निहित फ़िल्टर हैं। हम Django में अपने स्वयं के फ़िल्टर भी बना सकते हैं जिसका उपयोग हम Django प्रोजेक्ट्स में किसी भी टेम्पलेट फ़ाइल में कर सकते हैं। फिल्टर का उपयोग कई तरह से किया जाता है जैसे HTML में लोअरकेस से अपरकेस बनाना।
इस लेख में, हम देखेंगे कि Django में एक कस्टम टेम्प्लेट फ़िल्टर टैग कैसे बनाया जाता है। तो, चलिए शुरू करते हैं।
उदाहरण
सबसे पहले, एक Django प्रोजेक्ट और एक ऐप बनाएं।
एक टेम्पलेट जोड़ें और टेम्पलेटटैग आपके ऐप्स रूट प्रोजेक्ट में निर्देशिका। परियोजना संरचना इस तरह दिखेगा -
उदाहरण हमारा ऐप है और ट्यूटोरियल हमारा प्रोजेक्ट है।
सुनिश्चित करें कि आपके टेम्पलेट्स settings.py . में चर ऐसा दिखता है -
import os TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTem plates', 'DIRS': [os.path.join(BASE_DIR, 'example/templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
"उदाहरण"जोड़ें settings.py . के INSTALLED_APPS वैरिएबल में . यह बस टेम्पलेट्स . सेट करता है फ़ोल्डर।
टेम्पलेट्स . में फ़ोल्डर, एक home.html add जोड़ें और इसे अभी के लिए ऐसे ही छोड़ दें।
views.py . में का उदाहरण , निम्नलिखित पंक्तियाँ जोड़ें -
from django.shortcuts import render # Create your views here. def main(request): return render(request,"home.html")
यहाँ हमने केवल अपने मुख्य दृश्य को मुख्य दृश्य में प्रस्तुत किया है।
urls.py . में परियोजना के लिए, निम्नलिखित पंक्तियाँ जोड़ें -
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('',include('example.urls')), path('admin/', admin.site.urls), ]
यहां हमने अपने ऐप्स urls.py . शामिल किए हैं मुख्य यूआरएल में।
urls.py . में का उदाहरण या ऐप, निम्नलिखित जोड़ें -
from django.urls import path,include from . import views urlpatterns = [ path('', views.main,name="main") ]
यह मूल पथ सेट करता है urls और हमारे मुख्य विचार प्रस्तुत करें।
बनाएं __init__.py टेम्पलेटटैग . में फ़ोल्डर और एक फ़िल्टर फ़ाइल जिसका नाम "upperfilter.py" . है . इसमें निम्न कोड जोड़ें -
from django.template import Library register=Library() @register.filter def upper(value): return value.upper()
यहां हमने एक पुस्तकालय आयात किया और उसे पंजीकृत किया। हमने एक फ़ंक्शन बनाया है या हम ऊपरी . नामक फ़िल्टर कह सकते हैं और हमने इसे डेकोरेटर का उपयोग करके पंजीकृत किया। प्रत्येक फ़िल्टर कुछ मूल्य लेता है; हम परिभाषित कर सकते हैं कि यह कितने मान ले सकता है।
अपने home.html . पर वापस आएं और जोड़ें -
<!DOCTYPE html> <html> <head> <title>Tut</title> </head> <body> {% load upperfilter %} <h1>{{"hi friends how are you" | upper}}</h1> </body> </html>
यहां फ़्रंटएंड पर, हमने {%%} का उपयोग करके अपना फ़िल्टर लोड किया, और फिर में तत्व, हमने फ़िल्टर का उपयोग किया।
यह फ़िल्टर लोअरकेस को अपरकेस में बदल देगा।
आउटपुट
बिना फ़िल्टर के -
फ़िल्टर के साथ -