python web开发——Django字段类型

字段类型

  • CharField:class CharField(max_length=None[, **options])

    一个用来存储从小到很大各种长度的字符串的地方

    如果是巨大的文本类型, 可以用TextField.

    这个字段默认的表单样式是TextInput.

    CharField必须接收一个额外的参数:CharField.max_length

    字段的最大字符长度.max_length将在数据库层和Django表单验证中起作用, 用来限定字段的长度.

  • IntegerField:class IntegerField([**options])

    一个整数。在Django所支持的所有数据库中,从 -2147483648 到 2147483647 范围内的值是合法的。默认的表单输入工具是TextInput.

  • FloatField:class FloatField([**options])

    用Python的一个float 实例来表示一个浮点数.

    该字段的默认组件是一个 TextInput.

  • DateField:class DateField([auto_now=False,auto_now_add=
    False, **options])

    这是一个使用Python的datetime.date实例表示的日期. 有几个额外的设置参数:

DateField.auto_now
每次保存对象时,自动设置该字段为当前时间。用于"最后一次修改"的时间戳。注意,它总是使用当前日期;它不只是一个默认值,你可以覆盖。
DateField.auto_now_add
当对象第一次被创建时自动设置当前时间。用于创建时间的时间戳. 它总是使用当前日期;和你可以覆盖的那种默认值不一样。

该字段默认对应的表单控件是一个TextInput. 在管理员站点添加了一个JavaScript写的日历控件,和一个“Today"的快捷按钮.包含了一个额外的invalid_date错误消息键.

`auto_now_add, auto_now, and default` 这些设置是相互排斥的. 他们之间的任何组合将会发生错误的结果.
  • DateTimeField:
    class DateTimeField([auto_now=False,auto_now_add=False, **options])

    它是通过Python datetime.datetime实例表示的日期和时间. 携带了跟DateField一样的额外参数.

    该字段默认对应的表单控件是一个单个的TextInput(单文本输入框). 管理界面是使用两个带有 JavaScript控件的 TextInput 文本框.

  • TextField:class TextField([**options])

    大文本字段。该模型默认的表单组件是Textarea。

  • BooleanField:class BooleanField(**options)

    true/false 字段。

    此字段的默认表单挂件是一个CheckboxInput.

    如果你需要设置null 值,则使用NullBooleanField 来代替BooleanField。

    如果Field.default没有指定的话, BooleanField 的默认值是 None。

  • ImageField:class ImageField([upload_to=None, height_field=None,
    width_field=None, max_length=100, **options])

    继承了 FileField的所有属性和方法, 但还对上传的对象进行校验,确保它是个有效的image.

    除了从FileField继承来的属性外,ImageField 还有宽和 高属性。

    为了更便捷的去用那些属性值, ImageField 有两个额外的可选参数:

#该属性的设定会在模型实例保存时,自动填充图片的高度.
ImageField.height_field
#   该属性的设定会在模型实例保存时,自动填充图片的宽度.
ImageField.width_field
ImageField字段需要调用Pillow 库.

ImageField会创建在你的数据库中 和 varchar 一样,默认最大长度为100和其他字段一样, 你可以使用max_length 参数来设置默认文件最大值.

示例演示:

class MyModel2(models.Model):
    field1 = models.CharField('字段',max_length=20,blank=True)
    field2 = models.IntegerField('字段',max_length=20)
    field3 = models.FloatField('字段',default=0.0)
    field4 = models.DateField('字段',auto_now=True)
    field5 = models.DateTimeField('字段',auto_now=True)
    field6 = models.TextField('字段',default=None)
    field7 = models.BooleanField('字段',default=True)
    field8 = models.ImageField('字段',width_field=200,height_field=20,default=None)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值