ফিল্ড এর ডিজাইন বুটস্ট্রাপ ফরম্যাটে হবে

মনেকরি আমাদের নিচের মত একটা মডেল আছে।

class Item(models.Model):
    code = models.CharField(max_length=25, unique=True,default='')
    name = models.CharField(max_length=100, unique=True)
    description = models.TextField()
    warehouse = models.ForeignKey(Warehouse, on_delete=models.CASCADE, default=1)
    unit = models.ForeignKey(Unit, on_delete=models.SET_DEFAULT, default=1)
    price = models.DecimalField(max_digits=10, decimal_places=2, default=0)

এখন আমরা এই মডেলকে অ্যাডমিন প্যানেল এ যোগ করবো এবং ফিল্ড এর ডিজাইন বুটস্ট্রাপ ফরম্যাটে হবে এ জন্য যা যা করতে হবে।

আমাদের app ডিরেক্টরিতে widgets.py নামে একটি ফাইল তৈরী করে নিচের কোড লিখতে হবে।

widgets.py

from django.forms import widgets

class CustomFieldWidget(widgets.Widget):
    def render(self, name, value, attrs=None, renderer=None):
        html = f'''
            <div class="custom-field">
                <label class="custom-label" for="{name}">{name.capitalize()}</label>
                <div class="custom-input">
                    <input type="text" id="{name}" name="{name}" value="{value}" class="custom-control" />
                    <!-- Add any additional elements or customization here -->
                </div>
            </div>
        '''
        return html

এবার আমাদের admin.py ফাইলে আমাদের মডেলটি অ্যাড করে দিতে হবে এবং ফিল্ড এর স্ট্রাকটার ওভার রাইট করে দিতে হবে নিচের মত।

Last updated