一篇文章搞懂Django中的form表单
之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。
与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示显示对应的错误信息.。
Django form组件就实现了上面所述的功能。
总结一下,其实form组件的主要功能如下:
- 生成页面可用的HTML标签
- 对用户提交的数据进行校验
- 保留上次输入内容
views.py
login.html
views.py
先定义好一个LoginForm类。
login2.html
看网页效果发现 也验证了form的功能:
- 前端页面是form类的对象生成的 –>生成HTML标签功能
- 当用户名和密码输入为空或输错之后 页面都会提示 –>用户提交校验功能
- 当用户输错之后 再次输入 上次的内容还保留在input框 –>保留上次输入内容
常用字段演示
initial
初始值,input框里面的初始值。
error_messages
重写错误信息。
password
radioSelect
单radio值为字符串
单选Select
多选Select
单选checkbox
多选checkbox
关于choice的注意事项:
在使用选择标签时,需要注意choices的选项可以从数据库中获取,但是由于是静态字段 ***获取的值无法实时更新***,那么需要自定义构造方法从而达到此目的。
方式一:
方式二:
内置字段
方式一:
方式二:
应用Bootstrap样式
批量添加样式
可通过重写form类的init方法来实现。
views.py文件
点击进入forms.py文件
点击self.errors进入forms.py文件中
点击._errors进入forms.py文件中
返回def errors(self)
点击full_clean方法
点击self._clean_fields()进入
在网页开发中,我们需要掌握的常用HTML标签有哪些?
如果想开发一个网站,除了要精通后端开发语言(如:php)外,还要精通HTML代码。那么,什么是HTML呢?HTML是一种超文本标记语言,它包含有众多的标签,我们可以通过这些标签,把不同的internet资源(如:文字、图片、视频、音频、表单等等)整合在一个统一的文档中,这就形成了我们可以看得见的网页。那么,HTML都有哪些常用的标签呢?
html5文档类型声明:<!doctype html>
html4文档类型声明:<!DOCTYPE html PUBLIC \”-//W3C//DTD XHTML 1.0 Transitional//EN\” \”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\”>
这个标签是html最外层的标签,所有其它的HTML标签都要放在这个标签的内部。
<html>
<head></head>
<body></body>
</html>
在HTML标签中,有的标签是成双成对的,如:<html></html>(如下图);而有的标签是单个的,如:<hr>横线标签。
head头部有以下几种常用标签:
meta:主要提供有关页面的元信息。
link:用来定义文档与外部资源的关系,最常用的是调用CSS样式文件。
title:页面标题的标签。
script:用来调用JS文件或JS代码。当然,script标签也可以在body主体中使用。
1、块级标签。
块级标签的特性是:独自占有一行;标签的高与宽、边距可以修改;没有设置宽与高时,默认继承父标签。例如:
<div>div1</div>
<div>div2</div>
<style>
.aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }
.aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }
</style>
前端页面显示的效果如下图:
常用的块级标签有:div、h1、h2、h3、h4、h5、h6、hr、menu、ul、ol、li、dl、dt、dd、table、p、form 。
2、内联标签。
内联标签与块级标签不同,它不能独自占有一行,会与其它内联标签在同一样展示;内联标签的高与宽、上下边距是不能修改的,它里面的文字或图片有多高,它就是多高。例如如下代码:
<style>
.aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }
.aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }
</style>
<span>span1</span>
<span>span2</span>
CSS样式代码跟块级标签的例子是一样的,而显示的效果就不一样了,宽与高、上下边距没有效果。如下图:
常用的内联标签有:span、a、b、strong、i、em 。
3、内联块级标签。
内联块级标签,既有一些内联标签的特性,也有一些块级标签的特点:它不能独自占有一行,但是可以修改它的宽度和高度。例如下面这段代码:
<style>
.aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }
.aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }
</style>
<img src=\”w5.jpg\” alt=\”\”>
<img src=\”w5.jpg\” alt=\”\”>
CSS样式代码跟块级标签的那个例子仍然是一样的,图片的宽和高、上下边距修改成功,而2个图片不能独自占有一行,而是在同一行。如下图:
常用的内联块级标签有:img、input、textarea。
4、区域标签。
所谓区域标签,就是主要用来划分布局页面区域的。如:头部、主体内容、侧边栏、底部。这样划分的好处是:让页面布局更加清晰明了。
常用的区域标签有:header(头部)、footer(底部)、nav(导航)、aside(侧边栏)、section(主体)、article(独立内容)。
5、表单标签。
这个表单标签我们也是会经常用到的,如:登录网站的时候、提交数据的时候。如下图的评论表单:
表单常用的标签有:form、input、select、option、textarea 。
以上就是我们开发网页时,会常用到的HTML标签。当然,HTML标签远不止这些,尤其是html5出来后,新增了许多的新标签。但是,有些标签在我们开发中很少用到,所以,这里就没有做相应的介绍。
HTML5教程从入门到精通,随堂笔记(二)H5的form标签
HTML5从入门到精通,兄弟连京修随堂笔记(二)HTML的框架结构,每日都有新内容,订阅走一波
HTML5的form标签
问:网站怎样与用户进行交互? 答案:使用HTML表单(form).
表单是可以把浏览者输入的数据传送到服务器端的程序(比如ASP,PHP)的HTML元素,服务器端程序可以处理表单传过来的数据,从而进行一些动作.比如,bbs,blog的登陆系统,购物车系统等.
form 标签 — 代表HTML表单
form标签是成对出现的,以<form>开始,以</form>结束
常用属性.
action — 浏览者输入的数据被传送到的地方,如一个PHP页面(dofm.php)
method — 数据传送的方法
get — 此方式传递数据量少,但是传递的信息显示在网址上。
post –此方式传送信息多,而且不会把传递信息显示在网址上
enctype — 表示将数据发送到服务器时浏览器使用的编码类型
application/x-www-form-urlencoded — 窗体数据被编码为名称/值对.这是标准的编码格式.默认的。
multipart/form-data — 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分.
text/plain — 以纯文本形式进行编码,其中不含任何控件或格式字符
HTML5 input标签
input 标签 — 代表HTML表单的单行输入域
input标签是单独出现的,<input />
属性.
type — 代表一个输入域的显示方式(分为输入型,选择型,点击型)
name – 此表单项名称
value — 输入域的值
size — 输入域的长度
maxlength — 输入域最多可以输入文字的长度
checked — 如果是选择型的输入域,代表已经被选择,值为checked
readonly — 输入域可以选择,但是无法修改 ,值为readonly
disabled — 输入域无法获得焦点,无法选择,以灰色显示,在表单中不起任何作用。如:disabled=\”disabled\”
accesskey — 表单的快捷键访问方式,如值为h即按Alt+h快捷键。
tabindex — 输入域的\”tab\”键遍历顺序
src — 当使用图片来表示按钮时,代表图片的位置(URI)
alt — 用来替换提交按钮的图片(当在input的src属性定义的图片无法显示时)提示信息。
type属性 — 代表HTML表单,单行输入域(框)的表现方式
type属性取值:
text — 文字输入域(输入型)
password — 也是文字输入域,但是输入的文字以密码符号\’*\’显示(输入型)
file — 可以输入一个文件路径(输入型)
checkbox — 复选框.可以选择零个或多个(选择型)
radio — 单选框.只可以选择一个而且必须选择一个(选择型)
hidden — 代表隐藏域,可以传送一些隐藏的信息到服务器
button — 按钮(点击型)
image — 使用图片来显示按钮,使用src属性指定图像的位置(就像img标签的src属性)(点击型)
submit — 提交按钮,表单填写完毕可以提交,把信息传送到服务器.可以使用value属性来显示按钮上的文字(点击型)
reset — 重置按钮,可以把表单中的信息清空(点击型)
select 标签 — 选择列表标签
select标签是成对出现的,以<select>开始,以</select>结束
此标签中的每对option标签代表一个选择项
属性:
name – 表单项名称
size — 选择域的高度
multiple — 可以有多个选择
disabled — 以灰色显示,在表单中不起任何作用
tabindex — 使用\”tab\”键的遍历顺序
option 标签 — 代表选择列表的一个选择项
option标签是成对出现的,以<option>开始,以</option>结束
属性:
label — 说明选择项
value — 说明选择项的值
selected — 此选择项已经被选择
disabled — 输入框无法获得焦点,以灰色显示,在表单中表示禁用
tabindex — 使用\”tab\”键的遍历顺序
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。