【Django】数据校验

这篇具有很好参考价值的文章主要介绍了【Django】数据校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Django中,对数据进行校验有两种方式:文章来源地址https://www.toymoban.com/news/detail-533941.html

  1. 通过Form中校验,
  2. 通过Model校验;

常用自带验证器:

  1. MaxValueValidator :验证最大值。
  2. MinValueValidator :验证最小值。
  3. MinLengthValidator :验证最小长度。
  4. MaxLengthValidator :验证最大长度。
  5. EmailValidator :验证是否是邮箱格式。
  6. URLValidator :验证是否是 URL 格式。
  7. RegexValidator :如果还需要更加复杂的验证,还可以通过正则表达式的验证。

应用举例

from django.core.validators import MaxValueValidator, MinValueValidator, RegexValidator, MaxLengthValidator
class Ioc(CoreModel):
    classtype_2 = models.IntegerField(max_length=7, null=True, help_text="NDR二级分类",
        validators=[
            RegexValidator(r"^20[12]\d{4}$", message='NDR二级分类无效')
        ],
        )
    ioc_source = models.CharField(max_length=100, null=True, help_text="数据源",
        validators=[
            MaxLengthValidator(100, message='不能超过100字')
        ], 
        )
    risk = models.CharField(max_length=63, default="", null=True, help_text="威胁等级",
        validators=[
            RegexValidator(r"^[high]|[medium]|[low]$", message='威胁等级只能取high、medium、low')
        ],
        )
    confidence = models.IntegerField(max_length=3, null=True, help_text="置信度,0~100",
        validators=[
             MaxValueValidator(100, message='置信度不大于100'),
             MinValueValidator(0, message='置信度不小于0'),
        ],
        )
    telephone = models.CharField(validators=[validators.RegexValidator("1[345678]\d{9}",message='请输入正确格式的手机号码!')])

到了这里,关于【Django】数据校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • django使用mysql数据库

    Django开 发操作数据库比使用pymysql操作更简单,内部提供了ORM框架。 下面是pymysql 和orm操作数据库的示意图,pymysql就是mysql的驱动,代码直接操作pymysql ,需要自己写增删改查的语句 django 就是也可以使用pymysql、mysqlclient作为驱动,但是目前对mysqlclient的支持更好,在驱动的基础

    2024年02月14日
    浏览(51)
  • Django的mysql数据库连接

    首先Mysql和navicate Premuim 已经安装好,并且可以建立数据库的连接,本次需使用的工具是 1、vs code 2、navicate Premuim 3、Mysql 打开vs code ,按Ctrl+ Shift + ~ ,调出vs code的终端界面,输入以下命令创建 test11 项目  django-admin startproject test11 (1)创建虚拟环境命令: 需要跳转到项目test1

    2024年02月05日
    浏览(61)
  • 【python】Django——连接mysql数据库

    笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 【Django专栏】 Django——django简介、django安装、创建项目、快速上手 Django——templates模板、静态文件、django模板语法、请求和响应 Django——连接mysql数据库 ORM(Object-Relational Mapping)是一种编程技术,它允许开发者使用面

    2024年02月04日
    浏览(58)
  • django框架——实现MySQL数据库数据的删除

    在html中的删除按钮中绑定js文件中的事件,带上参数,点击即触发(删除按钮不能是a链接,不然报错) js文件中实现该功能,发起ajax请求到后端视图中对数据库进行操作 路由导入 在视图里面实现删除功能

    2024年02月13日
    浏览(61)
  • Django操作MySQL数据库的优化方法

    Django 是一个很流行的 Web 框架,而 MySQL 是常用的关系型数据库之一。在使用 Django 开发 Web 应用时,我们经常需要使用 MySQL 存储数据,因此如何加速 MySQL 是我们需要关注的问题。本文将介绍一些方法来优化 Django 中 MySQL 的性能。 使用适当的索引 索引是 MySQL 中提高查询性能的

    2024年02月10日
    浏览(72)
  • Python Django 之连接 Mysql 数据库详解

    博客:https://blog.csdn.net/qq_34745941/article/details/122549376 若已安装,请忽略。 主要使用的文件如图 若 pip 安装失败,可进入 Python 官方库中下载 whl 文件,操作可参考: 博客:https://blog.csdn.net/qq_34745941/article/details/106341898 在 settings.py 中,配置 Mysql 的连接串 扩展: Django 也支持其

    2024年02月04日
    浏览(55)
  • MySQL数据库自动生成Models文件导入Django

    在Django项目使用数据库时,可以有三种方式:           1.直接编写app内的models文件,然后自动生成MySQL数据库          2.直接在MySQL中将数据库编写好,然后不使用models,而是在views中利用PyMySQL编写数据库链接等操作         3.MySQL库自动生成models文件进行连接使用 这

    2023年04月08日
    浏览(43)
  • python+django+mysql项目实践二(前端及数据库)

    Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 添加模板 在templates下创建 views文件中添加 在setting文件中进行配置 在Terminal输入命令下发指令

    2024年02月14日
    浏览(60)
  • Django后端开发——mysql数据库连接遇到的问题及解决

    stackflow帖子:https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost 报错: 数据库拒绝root用户的连接 settings.py中关于数据库的配置: 可以看到root用户的密码为123456 但是在mysql数据库里面查看用户信息,root的密码为空 这样的不匹配导致连接失败 之前尝试

    2024年02月20日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包