django-表单之数据保存(七)
models.py
class Student(models.Model):
#字段映射,数据库中是male,female,后台显示的是男,女
choices={
('male',"男"),
('female','女'),
}
#创建数据库中的字段
name=models.CharField(verbose_name='姓名',max_length=20,unique=True)
age=models.CharField(verbose_name='年龄',max_length=10)
gender=models.CharField(verbose_name='性别',max_length=10,choices=choices,default='male')
# is_deleted=models.BooleanField(verbose_name='是否删除',default=1)
introduce=models.TextField(verbose_name='介绍') def __str__(self):
return self.name class Meta:
# verbose_name_plural='新闻'
# verbose_name="新闻列表"
#修改排列的顺序,这句是靠id从大到小排序
ordering=['-id']
db_table = 'student'
forms.py
class StudentForms(forms.ModelForm):
formats=[
'%Y-%m-%d',
'%m/%d/%Y',
]
# birthday = forms.DateField(label='出生日期', input_formats=formats)
class Meta:
model=Student
# fields='__all__'
# exclude=['is_deleted']
fields=['name','age','gender','introduce']
# fields = ['name']
widgets={
'name':forms.TextInput(attrs={'class':'custom-textinput'})
}
help_texts={
'name':'请输入姓名',
}
labels={
'name':'姓名',
'age':'年龄',
'gender':'性别',
'introduce':'介绍',
}
# error_messages={
# 'name':{
# 'required':'...',
# 'min_length':'...',
# 'max_length':'...',
# }
# }
views.py
class IndexStudent(View):
def get(self,request):
forms=StudentForms()
return render(request,'index.html',{'forms':forms})
def post(self,request):
forms=StudentForms(request.POST)
if forms.is_valid():
# name=forms.cleaned_data.get('name')
# age = forms.cleaned_data.get('age')
# gender= forms.cleaned_data.get('gender')
# is_deleted=forms.cleaned_data.get('is_deleted')
# introduce = forms.cleaned_data.get('introduce')
# context={
# 'datalist':{
# 'name':name,
# 'age':age,
# 'gender':gender,
# 'id_deleted':is_deleted,
# 'introduce':introduce,
# }
# }
forms.save()
# return render(request,'home.html',context=context)
return HttpResponse("OK...")
else:
return HttpResponse('Sorry...')
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
<style>
/*.custom-textinput{
border: 5px solid blue;
border-radius: 5px;
}*/
</style>
<link rel="stylesheet" href={% static 'css/index.css' %} </head>
<body>
<!--{% include 'header.html'%}-->
<div class="content">
<!--<h1>这是主界面</h1>-->
<form action="" method="post">
<table>
<!--as_p,as_ul-->
<!--{{forms.as_table}}-->
<hr>
<ul>
<li style="list-style-type: none">
<span style="color: blue">{{forms.name.label}} : </span>
<span>{{forms.name}}</span>
</li>
<li style="list-style-type: none">
<span style="color: blue">{{forms.age.label}} : </span>
<span>{{forms.age}}</span>
</li>
<li style="list-style-type: none">
<span style="color: blue">{{forms.gender.label}} : </span>
<span>{{forms.gender}}</span>
</li>
<li style="list-style-type: none">
<span style="color: blue">{{forms.introduce.label}} : </span>
<span>{{forms.introduce}}</span>
</li>
</ul>
<hr>
<tr>
<td><input type="submit" value="submit" name="submit"></td>
</tr>
</table>
</form>
<!--{% block content %}-->
<!--{% endblock %}-->
</div>
<!--{% include 'footer.html'%}-->
</body>
</html>

点击提交:

django-表单之数据保存(七)的更多相关文章
- django做form表单的数据验证
我们之前写的代码都没有对前端input框输入的数据做验证,我们今天来看下,如果做form表单的数据的验证 在views文件做验证 首先用文字描述一下流程 1.在views文件中导入forms模块 2. ...
- Django表单API详解
声明:以下的Form.表单等术语都指的的广义的Django表单. Form要么是绑定了数据的,要么是未绑定数据的. 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单.如果未绑 ...
- 第四章:Django表单 - 2:Django表单API详解
声明:以下的Form.表单等术语都指的的广义的Django表单. Form要么是绑定了数据的,要么是未绑定数据的. 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单.如果未绑 ...
- 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用
基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...
- Django表单介绍
HTML 表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的 ...
- python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)
昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...
- python3之Django表单(一)
1.HTML中的表单 在HTML种,表单是在<form>...</form>种的元素,它允许用户输入文本,选择选项,操作对象等,然后发送这些数据到服务器 表单元素允许用户在表单 ...
- django表单的api
django表单的api,参考文档:https://yiyibooks.cn/xx/Django_1.11.6/ref/forms/api.html 绑定与未绑定形式: Form要么是绑定的,要么是未 ...
- 5 Post实现django表单
本节大纲 1.article-detail 评论页面的准备工作 (1)model层创建评论模型 class Comment(models.Model): """创建评论模 ...
- Django 表单处理流程
Django 的表单处理:视图获取请求,执行所需的任何操作,包括从模型中读取数据,然后生成并返回HTML页面(从模板中),我们传递一个包含要显示的数据的上下文.使事情变得更复杂的是,服务器还需要能够处 ...
随机推荐
- Ubuntu su命令 Authentication failure的解决办法
重新设置root的密码: $ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password ...
- 基于 HTML5 WebGL 的垃圾分类系统
前言 垃圾分类,一般是指按一定规定或标准将垃圾分类储存.分类投放和分类搬运,从而转变成公共资源的一系列活动的总称.分类的目的是提高垃圾的资源价值和经济价值,力争物尽其用.垃圾在分类储存阶段属于公众的私 ...
- (八十二)c#Winform自定义控件-穿梭框
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- 快学Scala 第三课 (定长数组,变长数组, 数组循环, 数组转换, 数组常用操作)
定长数组定义: val ar = new Array[Int](10) val arr = Array("aa", "bb") 定长数组赋值: arr(0) = ...
- slf4j输出变量
花括号表示占位符,推荐使用
- 转:python2.x 和 python3.x的区别
注:本文的原文地址为Key differences between Python 2.7.x and Python 3.x 许多 Python 初学者想知道他们应该从 Python 的哪个版本开始学习 ...
- Java线程池的底层实现与使用
前言 在我们进行开发的时候,为了充分利用系统资源,我们通常会进行多线程开发,实现起来非常简单,需要使用线程的时候就去创建一个线程(继承Thread类.实现Runnable接口.使用Callable和F ...
- SQL Server换版本卸载问题
好久没更博客了,今天随性的更一篇.. 你是否也在问这个问题. 给你答案: 1.运行:输入regedit 进入注册表编辑器,进入之后执行下列操作: 2.在注册表,删除如下项:HKEY_CURRENT_U ...
- Redis实现分布式文件夹锁
缘起 最近做一个项目,类似某度云盘,另外附加定制功能,本人负责云盘相关功能实现,这个项目跟云盘不同的是,以项目为分配权限的单位,同一个项目及子目录所有有权限的用户可以同时操作所有文件,这样就很容易出现 ...
- django搭建BBS-表单创建&注册
django搭建BBS-表单创建&注册 0824自我总结 文件结构 app 接口 migrations __inint__.py admin.py 管理员页面注册表单用 apps.py bbs ...