📜  FloatField – Django 表单(1)

📅  最后修改于: 2023-12-03 14:41:14.487000             🧑  作者: Mango

FloatField - Django 表单

在Django中,FloatField是定义表单中浮点数的一种方式。它通过使用浮点数来表示实数,并可以在模型和表单中交换数据。

创建 FloatField

要在模型中创建FloatField字段,可以在模型中使用FloatField:

from django.db import models

class Product(models.Model):
    price = models.FloatField()

在表单中创建FloatField字段非常简单。为了创建一个FloatField,我们可以使用以下代码:

from django import forms

class ProductForm(forms.Form):
    price = forms.FloatField()
FloatField参数

FloatField类可以接受以下参数:

  • null: 如果设置为True,则字段将允许为空。默认为False。

  • blank: 如果设置为True,则字段可以为空。默认为False。

  • default: 字段的默认值。可以是一个值或可调用对象。

  • verbose_name: 字段的人类可读名称。如果未提供,则使用字段名称。

  • help_text: 字段的帮助文本。

  • validators: 字段验证器的列表。验证器可以是Django预定义的验证器或自定义的验证器。

以下是一个例子:

from django.db import models

class Product(models.Model):
    price = models.FloatField(blank=True, null=True, default=0.0, verbose_name="Price of the product", help_text="Price of the product in dollars")

在表单中使用FloatField时,以下是一些有用的参数:

  • label: 字段的人类可读名称。如果未提供,则使用字段名称。

  • initial: 字段的初始值。可以是一个值或可调用对象。

  • required: 如果设置为True,则字段必填。默认为True。

  • help_text: 字段的帮助文本。

  • validators: 字段验证器的列表。验证器可以是Django预定义的验证器或自定义的验证器。

下面是一个例子:

from django import forms

class ProductForm(forms.Form):
    price = forms.FloatField(label="Price of the product", help_text="Price of the product in dollars", required=True)
FloatField验证

在表单提交时,Django会自动验证FloatField,以确保它包含一个有效的浮点数。

以下是一个包含FloatField验证的例子:

from django import forms

class ProductForm(forms.Form):
    price = forms.FloatField()

    def clean_price(self):
        price = self.cleaned_data.get('price')
        if price <= 0:
            raise forms.ValidationError("Price should be greater than zero.")
        return price

在这个例子中,我们定义了一个验证方法clean_price,该方法确保价格大于零。

总结

在Django中,FloatField是定义表单中浮点数的一种方式。通过使用FloatField,我们可以在模型和表单之间交换数据。FloatField具有很多有用的参数,可以方便地自定义字段的行为。在表单提交时,Django会自动验证FloatField,以确保它包含一个有效的浮点数。