如何在 Django 中添加货币字段?
有时候,我们可能需要在网站中添加与金钱相关的资料,比如工资、费用或收入。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
在此,我们创建了一个模型,其中有两个值:员工姓名和以美元计的工资。
在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 中没有花哨的东西。我们在其中创建了一个表单,然后只进行渲染并处理 post 请求。
输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP