form表单提交

form组

我是研究僧i 提交于 2019-11-28 06:54:34
一.Form简介 1.form组件的主要功能 1.生成页面可用的HTML标签 2.对用户提交的数据进行校验 3.保留上次输入内容 2.页面显示的步骤 1.views.py中导入forms模块:from django import froms 2.定义继承自forms.Form的类,类中定义字段(和models中的写法相同) 3.视图函数中创建该类的对象 4.如果是get请求,向页面中渲染form对象。 3.简单使用form组件实现的例子 class Regform(forms.Form): # 查看所有字段(forms->fields->查看__all__) """ CharField对应input标签,users、pwd是input标签中的name的值,label对应label标签,widget的值对应input标签的类型 ChoiceField对应select标签,choices中的选项是option的值 """ users = forms.CharField(label="用户名", widget=forms.TextInput) pwd = forms.CharField(label="密码", widget=forms.PasswordInput) choice = forms.ChoiceField(label="性别", choices=((1, "alex"),

【BootStrap】表单 案例

时间秒杀一切 提交于 2019-11-28 05:45:19
BootStrap表单组件 详细文档请查看BootStrap中文网 ,这里只列举几种效果供参考 效果1: <form action="" class="form-horizontal"> <div class="form-group"> <label for="" class="col-sm-2 control-label">name</label> <div class="col-sm-4 input-group"> <span class="input-group-addon"> <span class="glyphicon glyphicon-user"></span> </span> <input type="text" class="form-control"> </div> </div> <div class="form-group"> <label for="" class="col-sm-2 control-label">education</label> <div class="col-sm-4 input-group"> <span class="input-group-addon"> <span class="glyphicon glyphicon-education "></span> </span> <input type="text" class=

GET和POST区别和用法;ContentType

我是研究僧i 提交于 2019-11-28 05:34:37
很多人都分不清GET与POST的区别,以及什么时候用GET?什么时候用POST? GET和POST两种方法都是将数据送到服务器,但你该用哪一种呢? HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。 当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如在数据库添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。 若符合下列任一情况,则用POST方法: 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。 若使用GET方法,则表单上收集的数据可能让URL过长。 要传送的数据不是采用7位的ASCII编码。 若符合下列任一情况,则用GET方法: 请求是为了查找资源,HTML表单数据仅用来帮助搜索。 请求结果无持续性的副作用。 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。 表单提交中Get和Post方式的区别 1. get是从服务器上获取数据,post是向服务器传送数据。   2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制

GET和POST区别和用法

≯℡__Kan透↙ 提交于 2019-11-28 05:33:49
多人都分不清GET与POST的区别,以及什么时候用GET?什么时候用POST? GET和POST两种方法都是将数据送到服务器,但你该用哪一种呢? HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。 当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如在数据库添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。 若符合下列任一情况,则用POST方法: 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。 若使用GET方法,则表单上收集的数据可能让URL过长。 要传送的数据不是采用7位的ASCII编码。 若符合下列任一情况,则用GET方法: 请求是为了查找资源,HTML表单数据仅用来帮助搜索。 请求结果无持续性的副作用。 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。 表单提交中Get和Post方式的区别 1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制

form组件

冷暖自知 提交于 2019-11-28 05:19:16
1.form组件的介绍   在之前的开发过程中,我们都会用一种最传统的方式写form表单。我们以注册为例子,分别讲解传统方式和用form组件的区别。    传统方式:     首先创建一个注册页面,页面里面有form表单。     然后form表单能够将数据提交到后端,并且后端对数据进行有效性校验。     最后把校验的提示展示到页面上,方便使用者查看。    form组件的方式:     1.可以自动生成html代码     2.能够进行数据有效性校验     3.校验信息并展示出来,同时会将原来的数据保存    注: 前端和后端都可以对数据进行校验。前端通过JS进行校验,开发时,最好前端设置校验,后端必须写一个校验,因为前端的校验可以被跳过。 2.form组件的使用   在这里我直接给出例子,以展示如何使用form组件。 from django.shortcuts import render from django import forms from django.forms import widgets # 定义一个form组件的类 class RegForm(forms.Form): name = forms.CharField( max_length=16, label='用户名', # widgets是Django对HTML输入元素的表示,后面的attrs能够设置样式

new FormDat() 相关知识点

瘦欲@ 提交于 2019-11-28 05:12:18
做文件上传时用到了formData 对象,特此整理总结一下 FormData 对象的使用: 1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成 一个queryString 2. 异步上传二进制文件。 //表单示例 <form id="Form" action="" method="post"> <input type="text" name="name">名字 <input type="password" name="psw">密码 <input type="submit" value="提交"> </form> //方法示例 // 获取页面已有的一个form表单 var form = document.getElementById("Form"); // 用表单来初始化 var formData = new FormData(form); 操作方法 1.获取值      通过.get(key)/.getAll(key)来获取对应的value 2 添加数据     通过.append(key, value)来添加数据,如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾 3.设置修改数据   .set(key, value)来设置修改数据,如果指定的key不存在则会新增一条,如果存在,则会修改对应的value值 4

----vue中实现上传文件给后台----

徘徊边缘 提交于 2019-11-28 04:07:26
一、FormData 对象的使用: 1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成 一个queryString 2. 异步上传二进制文件。(ps:说白了就是不使用form表单实现form表单提交数据或文件,如果还是不懂,请自行百度) 一、实现过程: 1.使用type类型为file的input框实现选择文件(顺便记录一下修改input框的默认样式) 2.修改input框的默认样式 3.通过选择文件拿到数据 4.请求接口 来源: https://www.cnblogs.com/zjy850984598/p/11391232.html

FORM组件

≯℡__Kan透↙ 提交于 2019-11-28 04:05:45
form组件 忽略的 一个问题: 没有对用户输入的值进行校验 1:前台和后台都要校验 2:减少后台数据库的压力 views.py: from django.forms import Form from django.forms import fields class LoginForm(Form): #验证的规则 username=fields.CharField( required=True, max_length=18, min_length=6, error_message={ "required":'不能为空', "max_length":'太长了', "min_length":"太短了", }) pwd =fields.CharField() def login(request): if request.method=='GEt': return render(request,'login.html') else: obj =LoginForm(request.POST) print(obj) if obj.is_valid(): print(obj.cleaned_data)##对象 else: print(obj.errors)## 对象__str__ return render(request,'login.html',{'obj':obj}) html:

element-ui 开发备忘

社会主义新天地 提交于 2019-11-28 01:41:57
目录 购物清单的数据结构说明 1. <el-radio> 的 label 属性 2. 在 <el-table> 中放入表单组件 3. 表单验证时填写正确的 prop 属性 总结 附:极简购物清单的完整代码 本文针对本人这两天进行界面开发的过程中遇到的一些坑点和要点进行记录,留待日后备忘。 本篇博客将用一个极简的购物清单的例子讲解,例子的完整代码可见最后。 购物清单的数据结构说明 shoppingList: { supermarket: '', // 超市名称,非空,字符串 status: true, // 状态位,默认为 true items: [ // 购物清单项,0 到多个 { name: '', // 商品名,非空,字符串 quantity: 0 // 数量,非空,整数 } ] } 了解了购物清单的数据结构之后,就可以开始讲解了。 1. <el-radio> 的 label 属性 根据 官方文档 , label 属性可以为 String 、 Number 或 Boolean ,但官方文档中没有说明的是,如果要给 label 属性设置 Number 或 Boolean 值,则需要加上冒号变成 :label ,不然像 "0" 、 "true" 这类的值会被当作 String 处理。 <!-- 感兴趣的可以试着去掉 label 前的冒号, 你会发现在页面中没有一个 radio

CRM readonly、Form and field validation——第27天

孤街醉人 提交于 2019-11-28 01:36:33
#在kind_admin.py文件中加上readonly_fields代表里面的字段是可读readonly_fields = ['qq','consultant'] 2、在form.py文件中给可读字段加上disabled属性,因为readonly属性对于下拉框可读是不起作用的: #form.py def creat_model_form(request,admin_class): def __new__(cls,*args,**kwargs): #super(CustomerForm,self).__new__(*args,**kwargs) # print("base fields",cls.base_fields) for field_name,field_obj in cls.base_fields.items(): print(field_name,dir(field_obj)) field_obj.widget.attrs['class'] = 'form-control' field_obj.widget.attrs['maxlength'] = getattr(field_obj,'max_length')if hasattr(field_obj,"max_length") else '' #判断表单字段如果是可读那就在前端加上disabled属性   if