ফিল্টারগুলি সত্যিই খুব সহায়ক, জ্যাঙ্গোতে অনেকগুলি অন্তর্নির্মিত ফিল্টার রয়েছে৷ আমরা জ্যাঙ্গোতে আমাদের নিজস্ব ফিল্টারও তৈরি করতে পারি যা আমরা যেকোনো টেমপ্লেট ফাইলে জ্যাঙ্গো প্রকল্পে ব্যবহার করতে পারি। ফিল্টারগুলি অনেক উপায়ে ব্যবহার করা হয় যেমন HTML-এ ছোট হাতের থেকে বড় হাতের অক্ষর তৈরি করা।
এই নিবন্ধে, আমরা দেখব কিভাবে জাঙ্গোতে একটি কাস্টম টেমপ্লেট ফিল্টার ট্যাগ তৈরি করা যায়। তো, চলুন শুরু করা যাক।
উদাহরণ
প্রথমত, একটি জ্যাঙ্গো প্রকল্প এবং একটি অ্যাপ তৈরি করুন৷
৷একটি টেমপ্লেট যোগ করুন এবং টেমপ্লেট ট্যাগ আপনার অ্যাপস রুট প্রকল্পে ডিরেক্টরি। প্রকল্প কাঠামো এইরকম দেখাবে -
উদাহরণ আমাদের অ্যাপ এবং টিউটোরিয়াল আমাদের প্রকল্প।
আপনার টেমপ্লেটগুলি নিশ্চিত করুন৷ settings.py-এ পরিবর্তনশীল এইরকম দেখায় -
import osTEMPLATES =[ { 'ব্যাকএন্ড':'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join(BASE_DIR, 'example/templates')], 'APP_DIRS':সত্য , '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 যোগ করুন এবং আপাতত এভাবেই রেখে দিন।
views.py-এ এর উদাহরণ , নিম্নলিখিত লাইন যোগ করুন −
থেকে django.shortcuts import render# এখানে আপনার ভিউ তৈরি করুন।def main(request):return render(request,"home.html")
এখানে আমরা কেবল আমাদের প্রধান ফ্রন্টএন্ডকে মূল দৃশ্যে রেন্ডার করেছি।
urls.py-এ প্রকল্পের, নিম্নলিখিত লাইন যোগ করুন −
django.urls ইমপোর্ট পাথ থেকে django.contrib ইম্পোর্ট অ্যাডমিন থেকে, Includeurlpatterns =[ path(',include('example.urls')), পাথ('admin/', admin.site.urls),]পূর্বে>এখানে আমরা আমাদের অ্যাপগুলি urls.py অন্তর্ভুক্ত করেছি প্রধান ইউআরএলে।
urls.py-এ এর উদাহরণ অথবা অ্যাপ, নিম্নলিখিত যোগ করুন -
django.urls আমদানি পথ থেকে, এর থেকে অন্তর্ভুক্ত। import viewsurlpatterns =[ path('', views.main,name="main")]এটি মৌলিক পথ urls সেট আপ করে এবং আমাদের প্রধান দৃষ্টিভঙ্গি রেন্ডার করুন।
__init__.py তৈরি করুন টেমপ্লেট ট্যাগ-এ ফোল্ডার এবং "upperfilter.py" নামের একটি ফিল্টার ফাইল . এতে নিম্নলিখিত কোড যোগ করুন -
django.template থেকে Libraryregister=Library()@register.filterdef upper(value):return value.upper()এখানে আমরা একটি লাইব্রেরি আমদানি করেছি এবং এটি নিবন্ধিত করেছি। আমরা একটি ফাংশন তৈরি করেছি বা আমরা উপরের নামে একটি ফিল্টার বলতে পারি এবং আমরা ডেকোরেটর ব্যবহার করে এটি নিবন্ধন করেছি। প্রতিটি ফিল্টার কিছু মান লাগে; এটি কতগুলি মান নিতে পারে তা আমরা নির্ধারণ করতে পারি৷
আপনার home.html এ ফিরে আসুন এবং −
যোগ করুনTut {% load upperfilter %}{{"হাই বন্ধুরা কেমন আছেন" | upper}}
এখানে ফ্রন্টএন্ডে, আমরা {% %} ব্যবহার করে আমাদের ফিল্টার লোড করেছি এবং তারপরে উপাদান, আমরা ফিল্টার ব্যবহার করেছি।
এই ফিল্টারটি ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করবে।
আউটপুট
ফিল্টার ছাড়াই −
ফিল্টার সহ −