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