কম্পিউটার টিউটোরিয়াল

ডজ্যাঙ্গোতে কাস্টম ফিল্টার ট্যাগ তৈরি করা

ফিল্টারগুলো খুব সহায়ক, ডজ্যাঙ্গোতে অনেক বিল্ট-ইন ফিল্টার রয়েছে। আমরা ডজ্যাঙ্গোতে নিজেদের ফিল্টারও তৈরি করতে পারি যা আমরা ডজ্যাঙ্গো প্রজেক্টের যেকোনো টেমপ্লেট ফাইলে ব্যবহার করতে পারি। ফিল্টারöbbहুত ভাবে ব্যবহার হয় যেমন HTML-এ লোয়ারকেসকে আপারকেস করা।

এই আর্টিকেলে, আমরা দেখব কিভাবে ডজ্যাঙ্গোতে একটি কাস্টম টেমপ্লেট ফিল্টার ট্যাগ তৈরি করা যায়। তো, শুরু করা যাক।

উদাহরণ

প্রথমে একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন।

আপনার অ্যাপের রুট প্রজেক্টে templates এবং templatetags ডিরেক্টরি যোগ করুন। প্রজেক্ট স্ট্রাকচার এরকম হবে:

ডজ্যাঙ্গোতে কাস্টম ফিল্টার ট্যাগ তৈরি করা

example হলো আমাদের অ্যাপ এবং tutorial হলো আমাদের প্রজেক্ট।

নিশ্চিত করুন আপনার settings.py-তে TEMPLATES ভেরিয়েবল এরকম দেখাচ্ছে:

import os
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        '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 ভেরিয়েবলে "example" যোগ করুন। এটি শুধু templates ফোল্ডার সেট আপ করে।

templates ফোল্ডারে একটি home.html যোগ করুন এবং এখন সেটাকে অপরিবর্তিত রেখে দিন।

example-এর views.py-তে নিচের লাইনগুলো যোগ করুন:

from django.shortcuts import render

def main(request):
    return render(request, "home.html")

এখানে আমরা সিম্পলি আমাদের মেইন ফ্রন্টএন্ডকে main ভিউতে রেন্ডার করেছি।

প্রজেক্টের 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-এ ইনক্লুড করেছি।

example বা অ্যাপের urls.py-তে নিচের কোড যোগ করুন:

from django.urls import path, include
from . import views

urlpatterns = [
    path('', views.main, name="main")
]

এটি বেসিক পাথ urls সেট আপ করে এবং আমাদের main ভিউ রেন্ডার করে।

templatetags ফোল্ডারে __init__.py তৈরি করুন এবং একটি ফিল্টার ফাইল নাম দিন "upperfilter.py"। সেখানে নিচের কোড যোগ করুন:

from django.template import Library

register = Library()

@register.filter
def upper(value):
    return value.upper()

এখানে আমরা একটি Library ইম্পোর্ট করেছি এবং রেজিস্টার করেছি। আমরা upper নামে একটি ফাংশন বা ফিল্টার তৈরি করেছি এবং ডেকোরেটর ব্যবহার করে এটিকে রেজিস্টার করেছি। প্রতিটি ফিল্টার কিছু মান নেয়; আমরা সংজ্ঞায়িত করতে পারি এটি কতগুলো মান নেবে।

আপনার home.html-এ ফিরে আসুন এবং যোগ করুন:

<!DOCTYPE html>
<html>
    <head>
        <title>Tut</title>
    </head>
    <body>
        {% load upperfilter %}
        <h1>{{"hi friends how are you" | upper}}</h1>
    </body>
</html>

এখানে ফ্রন্টএন্ডে, আমরা {% %} ব্যবহার করে আমাদের ফিল্টার লোড করেছি, এবং তারপর <h1> এলিমেন্টে, আমরা ফিল্টারটি ব্যবহার করেছি।

এই ফিল্টার লোয়ারকেসকে আপারকেসে রূপান্তর করবে।

আউটপুট

ফিল্টার ছাড়া -

ডজ্যাঙ্গোতে কাস্টম ফিল্টার ট্যাগ তৈরি করা

ফিল্টারসহ -

ডজ্যাঙ্গোতে কাস্টম ফিল্টার ট্যাগ তৈরি করা

  1. ডজ্যাঙ্গো প্রজেক্টে django-material ইমপ্লিমেন্ট করা

  2. ডжанগো ডিবাগ টুলবার প্রজেক্টে যোগ করা

  3. নিজের হ্যাটরাইটিং থেকে কাস্টম ফন্ট তৈরি করার পদ্ধতি

  4. নিজের ক্লাউড PC সেট আপ করার পদ্ধতি