当前位置: 首页 > article >正文

Django框架:Form组件及参数

Form 类

  1. Meta class:一个嵌套类,用于指定与表单相关的元数据。
    • model:如果指定,表单将自动根据模型的字段生成表单字段。
    • fields:一个字段列表,指定哪些模型字段应该包含在表单中。
    • exclude:一个字段列表,指定哪些模型字段应该被排除在表单之外。

Form 实例

  1. form.is_bound:布尔值,指示表单是否已经被提交。
  2. form.is_valid():检查表单数据是否有效。
  3. form.errors:包含表单中所有错误的字典。
  4. form.cleaned_data:包含经过清理和验证的数据的字典。

Form字段

Django提供了多种字段类型,每种字段类型都有自己的参数和行为。以下是一些常用的字段类型及其参数:

  1. CharField

    • max_length:字符的最大长度。
    • min_length:字符的最小长度。
    • strip:是否去除输入值的前后空白字符。
    • required:是否为必填字段。
  2. IntegerField

    • max_value:整数的最大值。
    • min_value:整数的最小值。
  3. EmailField

    • max_length:电子邮件地址的最大长度。
    • strip:是否去除输入值的前后空白字符。
  4. DateField

    • input_formats:一个日期格式列表,用于解析输入的日期字符串。
  5. ChoiceField

    • choices:一个元组列表,定义了可供选择的选项。
  6. MultipleChoiceField

    • choices:同上,但允许选择多个选项。
  7. BooleanField

    • required:布尔值,指示该字段是否为必填。
  8. FileField

    • max_length:文件路径的最大长度。
    • allow_empty_file:是否允许上传空文件。
  9. ImageField

    • max_length:图像文件路径的最大长度。
    • height_field:关联的字段名,用于存储图像的高度。
    • width_field:关联的字段名,用于存储图像的宽度。

Form字段参数

除了字段特定的参数外,所有字段都支持以下通用参数:

  • label:字段的标签。
  • initial:字段的初始值。
  • required:布尔值,指示该字段是否为必填。
  • widget:用于渲染字段的Widget类。
  • help_text:字段的帮助文本。
  • error_messages:自定义错误消息的字典。
  • localize:布尔值,指示字段值是否应该被本地化。
  • disabled:布尔值,指示字段是否被禁用。

Form 方法

  • form.save([commit])**:保存表单数据到数据库。如果commitFalse,则返回模型实例而不保存。
  • form.full_clean():清理表单数据并验证其有效性。

这些是Django表单组件的一些基本概念和参数。通过这些组件和参数,你可以创建复杂的表单来处理各种用户输入。


http://www.kler.cn/a/391417.html

相关文章:

  • vim将一行行尾倒数第三个字符替换成1
  • 【Node.js的安装与配置】
  • Gitee图形界面上传(详细步骤)
  • Spring Boot中的扫描注解如何使用
  • HTTP/HTTPS ⑤-CA证书 || 中间人攻击 || SSL/TLS
  • 【数据结构学习笔记】19:跳表(Skip List)
  • ubuntu 22.04 镜像源更换
  • 51单片机使用NRF24L01进行2.4G无线通信
  • 系统架构设计师论文:大数据Lambda架构
  • 【JAVA基础】JVM双亲委派
  • Redis 内存突增时,如何定量分析其内存使用情况
  • Python OpenCV孤立点检测
  • Ansible内置模块之known_hosts
  • aws申请ssl证书的方法【该证书仅供aws】
  • etcd之etcd集群实践(六)
  • RocketMQ发送消息之事务消息
  • Python字符串格式化与数字处理指南
  • Python 连接 Redis 进行增删改查(CRUD)操作
  • 【微服务设计】从理论到实践:2PC(两阶段提交)与SAGA的全面比较与示例
  • Rust 建造者模式
  • IEC60870-5-104 协议源码架构详细分析
  • Mysql学习笔记(一):Mysql的架构
  • 单片机工程使用链接优化-flto找不到定义_链接静态库
  • 如何解决“无法在 ‘HTMLElement‘ 上设置 ‘innerText‘ 属性”的问题
  • vue项目删除无用的依赖
  • 【Flume实操】实时监听 NetCat 端口和本地文件数据到 HDFS 案例分析