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页面(从模板中),我们传递一个包含要显示的数据的上下文.使事情变得更复杂的是,服务器还需要能够处 ...
随机推荐
- 程序员写 2000 行 if else?领导:这个锅我不背
前言 知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考生的信息,白给那种.为什么会发生这 ...
- Docker运行mysql,redis,oracle容器和SpringBoot项目
dokcer运行SpringBoot项目 from frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/demo-0.0.1-SNAPSHOT ...
- 漫谈 GOF 设计模式在 Spring 框架中的实现
原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. 漫谈 GOF 设计模式在 Spring ...
- postgres 数据库 citus 集群分片
前言 什么时候需要考虑做数据切分? 1.能不切分尽量不要切分 并不是所有表都需要进行切分,主要还是看数据的增长速度.切分后会在某种程度上提升业务的复杂度,数据库除了承载数据的存储和查询外,协助业务更好 ...
- Mybatis入门简版(补充)
一.Mybatis 中$与#的区别 #相当于对数据 加上 双引号,$相当于直接显示数据 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#, ...
- 通过反射对任意class类中方法赋值的方式
import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;i ...
- Eclipse 创建 Maven 项目
本人也是新手小白,在创建 Maven 项目的时候几乎踩完了所有的坑.特此总结如下: 1.咱先选中 File -> New -> Maven Project 2.然后如下图 在这里说明 ...
- PHP array_slice
1.函数的作用:返回数组中的部分区间的元素 2.函数的参数: @params array $array @params int $offset @params int $l ...
- Vue框架构造
Vue 程序结构框架 Vue.js是典型的MVVM框架,什么是MVVM框架,介绍之前我们先介绍下什么是MVC框架 MVC 即 Model-View-Controller 的缩写,就是 模型-视图-控制 ...
- CSP-S 初赛内容整理
图灵奖 艾伦·麦席森·图灵(Alan Mathison Turing,1912-1954)1966 共计70名科学家获此殊荣,华人仅有1位,他是2000年姚期智. 解释型语言 Python / Jav ...