บางครั้ง เราอาจต้องเพิ่มข้อมูลที่เกี่ยวข้องกับเงินในเว็บไซต์ เช่น เงินเดือน ค่าธรรมเนียม หรือรายได้ Django ให้ฟิลด์จำนวนเต็ม แต่หลายครั้ง มันไม่ทำงานอย่างที่เราต้องการ ดังนั้น สำหรับการจัดการฟิลด์เงิน เราสามารถใช้ไลบรารีแพ็คเกจที่สามที่จะเพิ่มฟิลด์เงินลงในแบบจำลองของเรา
สร้างโปรเจ็กต์และแอป ฉันตั้งชื่อมันว่า "MoneyFieldDemo" และ "myapp"
ตั้งค่าพื้นฐานเช่น url และ 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 เราสร้างแบบฟอร์มในนั้นแล้วแสดงผลและจัดการคำขอโพสต์ด้วย
ผลลัพธ์