如何在 Django 中添加 Money 字段?
pythonserver side programmingprogramming
有时,我们可能需要在网站中添加与金钱相关的数据,如工资、费用或收入。Django 提供了一个整数字段,但很多时候,它并不像我们想要的那样工作。因此,为了处理 money 字段,我们可以使用第三个包库将 money 字段添加到我们的模型中。
创建一个项目和一个应用程序,我将其命名为 "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"), ]
在这里,我们只需定义将呈现 html 的 url 端点。
在 templates 文件夹的 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 # 在此处创建您的模型。 class Data(models.Model): Name=models.CharField(max_length=100) salary = MoneyField(max_digits=14, decimal_places=2, defa ult_currency='USD') #这是货币字段
在这里,我们创建了一个模型,它有两个值:员工姓名和以美元计算的工资。
在 view.py 中添加以下 −
from django.shortcuts import render from django import forms from .models import Data # 在此处创建您的视图。 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 中没有什么特别的。我们在其中创建了一个表单,然后渲染它并处理发布请求。