【Django 笔记】Django中如何处理 表单 数据

这篇博客详细介绍了如何在Django中处理表单数据,包括HTML表单的基本知识,Django表单的创建、实例化、处理和渲染,以及表单类、视图处理和模板处理的步骤。同时,讲解了Form类的字段详解、Widget控件和字段数据的使用。此外,还讨论了如何使用模板来渲染表单,并提供了手动渲染字段的方法。
摘要由CSDN通过智能技术生成

笔记主要基于官方文档,从中提取要点和记录笔记,关键处包含了官方文档链接。详见官方文档。

官方文档:Django documentation 

博客推荐:Django2.2教程

目录

1.HTML表单

2.Django 中的表单

实例化、处理和渲染表单

3.使用Django的表单

3.1.编写Form 类

3.2.视图处理

3.3.模板处理

4.详解 Form 类

4.1.字段详解

4.2.Widget控件

4.3.字段数据

5.使用表单模板


 

Django 提供了一个丰富的框架来帮助创建表单和处理表单数据。

表单官方文档表单;基础部分文档: 概览 | 表单 API | 内建字段 | 内建 widgets

 

1.HTML表单

在HTML中,表单 <form>...</form> 可以收集其内部标签中的用户输入,然后将数据发送到服务端。

一个HTML表单必须指定两样东西:

  • 目的地:用户数据发送的目的URL
  • 方式:发送数据所使用的HTTP方法

以Django Admin站点登录表单的HTML为例:

<form action="/admin/login/?next=/admin/" method="post" id="login-form">

    <input type='hidden' name='csrfmiddlewaretoken' 
         value='NNHZaDVJGduajNMECXygKZkAt8vyEcw9HS2qm2Vdf7brDZrA0qK1R0I7M2p3TKcs' />

    <div class="form-row">
        <label class="required" for="id_username">用户名:</label> 
        <input type="text" name="username" autofocus maxlength="254" required id="id_username" />
    </div>

    <div class="form-row">
        <label class="required" for="id_password">密码:</label> 
        <input type="password" name="password" required id="id_password" />
        <input type="hidden" name="next" value="/admin/" />
    </div>

    <div class="submit-row">
        <label>&nbsp;</label> <input type="submit" value="Log in" />
    </div>
</form>
  • 表单数据 <form> 的 action 属性指定URL,告诉浏览器表单应该发往哪里;
  • method 属性指定HTTP方法——如 post ;(GET 和 POST
  • 表单包含了一些 <input> 元素type="text"用于用户名,type="password"用于密码,type="submit"用于“登录"按钮。
  • 当点击<input type="submit" value="Log in">元素时,数据将发送给指定URL。

 

通常情况下,我们需要自己手动在HTML页面中,编写form标签和其内的其它元素。但这比较麻烦,Django的表单功能可以简化和自动化上述工作的大部分内容

 

2.Django 中的表单

Django表单会处理涉及的三个不同部分:

  • 准备并重组数据,以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值