কখনও কখনও, আমাদের একটি ওয়েবসাইটে অর্থ-সম্পর্কিত ডেটা যোগ করতে হতে পারে, যেমন বেতন, ফি বা আয়। জ্যাঙ্গো একটি পূর্ণসংখ্যা ক্ষেত্র সরবরাহ করে তবে অনেক সময়, এটি আমাদের ইচ্ছা মতো কাজ করে না। সুতরাং, অর্থ ক্ষেত্র পরিচালনার জন্য, আমরা একটি তৃতীয়-প্যাকেজ লাইব্রেরি ব্যবহার করতে পারি যা আমাদের মডেলে অর্থ ক্ষেত্র যোগ করবে।
একটি প্রকল্প এবং একটি অ্যাপ তৈরি করুন, আমি এটির নাম দিয়েছি "MoneyFieldDemo" এবং "myapp"।
urls এর মত মৌলিক জিনিসগুলি সেট করুন৷ এবং INSTALLED_APPS৷৷
এবং হ্যাঁ, একটি লাইব্রেরি ইনস্টল করুন -
pip install django-money
settings.py-এ নিম্নলিখিত লাইনটি যোগ করুন −
INSTALLED_APPS+= ["djmoney"]
উদাহরণ
অ্যাপের মধ্যে, urls.py, নিম্নলিখিত লাইন যোগ করুন −
from django.urls import path from . import views urlpatterns = [ path('', views.home,name="home"), ]
এখানে, আমরা কেবল আমাদের url সংজ্ঞায়িত করি এন্ডপয়েন্ট যা html রেন্ডার করবে।
টেমপ্লেট ফোল্ডারের home.html,-এ যোগ করুন −
<!DOCTYPE html> <html> <head> <title> TUT </title> </head> <body> <h2>Hi</h2> <form action="/" method="post"> {% csrf_token %} {{ form }} <input type="submit" value="Submit"> </form> </body> </html>
এটি হল html ফাইল যা আমরা ফ্রন্টএন্ড হিসাবে রেন্ডার করতে যাচ্ছি।
models.py,-এ নিম্নলিখিত যোগ করুন -
from django.db import models from djmoney.models.fields import MoneyField # Create your models here. class Data(models.Model): Name=models.CharField(max_length=100) salary = MoneyField(max_digits=14, decimal_places=2, defa ult_currency='USD') #This is money field
এখানে, আমরা একটি মডেল তৈরি করেছি যার দুটি মূল্য কর্মচারীর নাম এবং USD-এ তার বেতন রয়েছে।
view.py,-এ নিম্নলিখিত যোগ করুন -
from django.shortcuts import render from django import forms from .models import Data # Create your views here. class SalaryForm(forms.ModelForm): class Meta: model=Data fields="__all__" def home(request): if request.method=='POST': form=SalaryForm(request.POST) if form.is_valid(): form.save() else: form=SalaryForm() return render(request,'home.html',{'form':form})
views.py.-এ অভিনব কিছু নেই আমরা এটিতে একটি ফর্ম তৈরি করি এবং তারপরে এটিকে রেন্ডার করি এবং পোস্টের অনুরোধও পরিচালনা করি৷
আউটপুট