django form 是我接触过的框架中最好用的form,之前我也搞过php,也用过php的一些框架。但是感觉他们在处理form的时候都是力不从心。要不就是集成度太高了,不好扩展。要不就是功能不太强大不能应对web现在的复杂的环境,但是我接触了django以后就发现django的form是多少的爽阿。下面我介绍下form的一些基本的东西,可能我介绍的不好。大家不要扔鸡蛋白菜哈!
form表单可以自己定义表单也可以通过继承model来生成:
表单主要完成4个功能
1显示表当的样式(Widget)
2通过规则验证表单数据(Field)
3显示验证错误信息(Form)
4把提交的数据转换成PYTHON的数据类型并提交表单(Form Media)
我分为几节来介绍django form
第一节的话。我主要介绍怎么定义:
表单定义有2种形式。一个是自己定义表单类型。一个是继承model类型。。
1自己定义的表单类型
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)
2继承model类型:
model:
class Article(model.models):
price = models.CharField('价格', max_length=50)
from django.forms import ModelForm
class ArticleForm(ModelForm):
这个可以重写继承的model的字段类型。。
比如这里我重新定义下我的表单字段的类型,因为如果是继承model的话。他会根据model的类型来验证表单数据的
比如你model定义的这个字段是char:那么这个字段只允许接受字符类型的数据,这样就能使的form的扩展性更好
例如:我希望price这个字段只接受int类型的数据的话
我就重写:price = forms.CharField(label='价格')
class Meta:
model = Article(关联的model)
fields = ('name', 'title')(定义只包含列出的字段的表单)
exclude = ('birth_date',)(定义排除列出的字段的表单)
如果你理解了
django from的定义的话。继续可以往前学习
分享到:
相关推荐
第22周-第17章节-Python3.5-Django之Form组件验证1.avi
第一种方法,在视图函数上边添加一条语句 @csrf_exempt 例子: @csrf_exempt def login(request): return render_to_response('app/login.html', locals()) 上边的方法是取消csrf的防御机制。 第二种方法,给出...
-------如何使用-------第一步:安装使用setuptools安装:easy_install autoforms或从源码安装:git clone git@github.com:jeffkit/autoforms.gitcd autoformspython setup.py install第二步:配置修改项目的...
第1周 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 for 循环及作业要求 第2周 本节鸡汤 模块初识 pyc是...
Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。 Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。 用户名密码登陆实现: 在apps.users下找到views.py文件: 以下...
第一步:在模板文件中,创建一个form表单,需要特别注意的是,在有文件上传的form表单中,method属性必须为post,而且必须指定它的enctype为”multipart/form-data”,表明不对字符进行编码,具体的代码如下: ...
本课程是django框架系列课程的第一课,主要讲解的内容如下: 介绍django框架的工作原理 讲解django框架开发的软件模式:MVC MTV 讲解如何下载和安装django,以及创建django框架的项目 讲解路由 讲解views视图层 ...
第一个控制台命令: pip install git+https://github.com/desenvolvendoweb/django-captchapy.git 第二个设置.py: INSTALLED_APPS = ( ... 'captchapy', ) 第三个views.py: from captchapy.captcha ...
第一步:在templates目录下新建一个index.html文件(文件内容根据自己的业务需求在layui官网复制即可),同时改变其布局只需将form标签放到一个自定义div内,若要更改其标签颜色只需将内置的背景色CSS类添加到lable...
进入xadmin源码,找到了formfield_for_dbfield这个方法,测试是有用的,可以过滤第一个选项框的值 补充知识:给django admin后台管理user扩展下拉框及多选框的字段 1.首先在models.py中编写扩展User所用到的user...
今天小编就为大家分享一篇vue 解决form表单提交但不跳转页面的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
将实例化的formset对象传递给前端页面,前端模板通过两层循环:第一层循环form,第二层循环form中的字段。当GET请求时,直接将实例化的formset对象传递给前端。当POST请求时,批量验证表单,当所有数据都没有问题时...
第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3...
什么是一个第三方插件,旨在轻松验证输入数据,easy方式易于验证,易于自定义错误信息,最重要的是易于扩展,项目灵感来自验证系统,我用过的最性感的 php 框架,她性感但她也胖,但我不在乎胖。 2. 为什么我从去年...
从2018年2月14日到2018年5月25日,我将在这里连续100天处理几个... 我使用了第三方Django标记应用程序。 构建复杂的QuerySet以通过相似性检索对象。 更多模板标签练习。天004 17/02/2018 博客应用了解了如何使用自定义
1 准备工作 1.1 环境搭建 1.1.1 安装python3.6 python安装官网 1.1.2 安装django2.2 pip install django(==2.2.0) //不加版本默认安装最新版 1.1.3 安装pycharm(社区版,官网下载安装即可) 在安装完成后要配置好...
Ajax(Asynchronous Javascript And XML)翻译成英文就是“异步Javascript...异步交互:客户端发送一个请求后,无需等待服务器响应结束,就可以发送第二个请求; 局部刷新:浏览器页面局部刷新 局部刷新的意思就是当咱们
第一种方式ensure_csrf_cookie 这种方方式使用ensure_csrf_cookie 装饰器实现,且前端页面由浏览器发送视图请求,在视图中使用render渲染模板,响应给前端,此时这个渲染模板的视图函数上要加上这个装饰器 这种方式...
├─(143) 08 python全栈3 day58 DjangoForm组件初识.avi ├─(144) day58课上所有.rar (23)\\python全栈day51-60\\python全栈s3 day59;目录中文件数:8个 ├─(145) 01 python全栈3 day59.avi ├─(146) 02 python...
Django:1个重武器,包含了web开发中常用的功能、组件的框架;(ORM、Session、Form、Admin、分页、中间件、信号、缓存、ContenType....);Tornado:2大特性就是异步非阻塞、原生支持WebSocket协议;Flask:封装功能...