Django Forms实例
# Django的Form主要具有一下几大功能: # # 生成HTML标签 # 验证用户数据(显示错误信息) # HTML Form提交保留上次提交数据 # 初始化页面显示内容# forms组件生成HTML标签格式 # class 表名Form(Form): # 字段名 = fields.字段类型( # 初始值, # widgets=widgets.插件(attrs={html属性标签 字典格式}) # )
1.urls.py
url(r'^student', student),
2.models.py
from django.db import models# Create your models here. class Class(models.Model):title = models.CharField(max_length=32)teachers = models.ManyToManyField("Teacher")def __str__(self):return self.titleclass Teacher(models.Model):name = models.CharField(max_length=32)def __str__(self):return self.nameclass Student(models.Model):username = models.CharField(max_length=16,unique=True)age = models.IntegerField()gender = models.BooleanField()classes = models.ForeignKey("Class")def __str__(self):return self.username
2.form.py
from .models import Student, Class, Teacher # Create your froms here. from django.forms import Form from django.forms import widgets from django.forms import fieldsclass StudentForm(Form):username = fields.CharField()( widget=widgets.TextInput(attrs={"style":"color:red;"},) )age = fields.IntegerField()gender = fields.ChoiceField(choices=((1, "男"), (0, "女"),),initial=1,widget=widgets.Select)classes = fields.IntegerField(initial=1,widget=widgets.Select()) # 绑定动态数据def __init__(self, *args, **kwargs):super(StudentForm, self).__init__(*args, **kwargs)self.fields["classes"].widget.choices = Class.objects.all().values_list("id", "title")
4.views.py
from .forms import StudentForm from .models import Student,Class,Teacher def student(request):if request.method == "GET":obj = StudentForm()return render(request, "t1/student.html", locals())elif request.method == "POST":obj = StudentForm(request.POST)if obj.is_valid():try:val = obj.clean()print(val)Student.objects.create(username=val["username"], age=val["age"], gender=val["gender"],classes_id=val["classes"])return HttpResponse(val["username"] + "添加完成")except Exception as e:return HttpResponse("数据错误,请重新输入")else:print(obj.clean())return HttpResponse("ERROR")else:return HttpResponse("error")
5.student.html
<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <form action="/student/" method="POST" enctype="multipart/form-data">{% csrf_token %}<p>用户名:{{ obj.username }} {{ obj.username.errors }}</p><p>年 龄:{{ obj.age }}{{ obj.age.errors }}</p><p>性 别:{{ obj.gender }}</p><p>班 级:{{ obj.classes }}</p><input type="submit"value="添加用户"/> </form> </body> </html>
转载于:https://www.cnblogs.com/icemonkey/p/10541986.html
Django Forms实例相关推荐
- django forms 错误处理
源码文件,site-packages/django/forms/forms.py 一个form实例. Form.errors 返回一个ErrorDict实例,包含当前表单所有的错误,可以在is_val ...
- Django forms组件
校验字段 模板文件 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
- django.forms生成HTML,第21天,Django之Form组件
ModelForm 一.Form组件初识 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 mo ...
- django forms表单
目录: forms表单介绍 forms常用字段与插件 forms所有内置字段 正则校验字段 钩子函数自定义校验 FORMS介绍 在许多应用场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长 ...
- Nginx + uWSGI + Python + Django部署实例
Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的 ...
- markdownpad2 html渲染组件出错_Day68 Django forms组件
目录 forms组件 forms组件类书写 forms组件如何校验数据 forms组件如何渲染标签 forms组件展示错误信息 forms组件钩子函数(HOOK) forms组件常见参数 forms组 ...
- python django实例_python django 模板实例
操作系统MAC OS/LINUX windows 安装python3 版本3自带virtualenv 安装virtualenv: pip install virtualenv 创建虚拟环境 virtu ...
- Django网站实例效果
Django是一种开源的大而且全的Web应用框架,是由python语言来编写的,优点十分明显: 功能完善.要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站. ...
- 前端vue+后端Django通信实例,传递json数据
将前端 Vue 项目和后端 Django 框架联系起来,让他们之间可以通过AXIOS进行通信并且传输数据,在 前端Vue项目中写一个请求函数,这个函数会请求/hello 接口, Vue 项目收到后端返 ...
最新文章
- MPB:湖南师大尹佳组-​乳酸菌对酸和胆碱盐的耐受能力
- mongoose常用方法(查询篇)
- MFC隐藏和显示一个控件的方法
- dataBinding和retrofit的使用
- 【C语言】数据结构C语言版 实验3 带头结点的单链表
- Mybatis plus 开启日志
- python 中csv怎么用_python中不同的CSV功能和使用
- VC++ 6.0的一些使用技巧---IDE的使用
- 威纶通宏指令是c语言吗,威纶触摸屏宏指令编程,字符串相关函数介绍与使用...
- 微信台配置那服务器,微信配置
- Visual Studio开源库集成器Vcpkg全教程--利用Vcpkg轻松集成开源第三方库
- 最新苹果cms影视源码双端支持在线切换3套主题开心版带详细安装教程
- 对一段Oracle GoldenGate (OGG) 传输进程日志(.rpt文件)的解释
- 信息学奥赛一本通 铲雪车
- Flink 灵魂两百问,这谁顶得住?
- JavaScript 每日一题 #11
- 【题目解析】2019年第十六届中国研究生数学建模竞赛B题 --天文导航中的星图识别+
- upload单独上传和统一上传
- 【论文阅读】注意力机制与二维 TSP 问题
- 移动端WebApp开发 你需要从这几点学起
热门文章
- asp.net session 介绍一三种Session存储方式
- go语言buffio与继承
- 【CyberSecurityLearning 11】OSI与TCP/IP协议簇以及Packet Tracer模拟器
- git checkout 对工作目录的影响 —— Git 学习笔记 21
- 【那么普通却那么自信,一分钟学Source Insight】Source Insight 4 tab设置为4个空格
- 一文看懂Python(七)-----断言
- 嵌入式面试知识点总结 -- ARM篇
- DM8168 DVRRDK软件框架研究
- linux搜狗输入法配置,liunx----配置搜狗输入法
- 加密货币与智能合约的隐私 (一): 区块链上的隐私