django 表单系统 之 forms.Form
继承forms.Form实现django表单系统
参考:
https://www.cnblogs.com/zongfa/p/7709639.html
https://www.cnblogs.com/chenchao1990/p/5284237.html
官方文档:
https://docs.djangoproject.com/en/dev/topics/forms/
https://docs.djangoproject.com/en/1.11/ref/forms/
继承forms.Form可以实现基于model的django表单
而继承forms.Form可以实现一般的django表单,
django表单的功能:
- 自动生成HTML表单元素
- 检查表单数据的合法性
- 如果验证错误,重新显示表单(数据不会重置)
- 数据类型转换(字符类型的数据转换成相应的Python类型)
表单定义:
from django import formsclass NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
上面这个标签渲染后的效果:
<label for="your_name">Your name: </label><input id="your_name" type="text" name="your_name" maxlength="100" required>
view中向前端传页面:
from django.shortcuts import renderfrom django.http import HttpResponseRedirect
from .forms import NameForm
def get_name(request):
# post请求
if request.method == 'POST':
form = NameForm(request.POST)
# 表单验证
if form.is_valid():
# 用form.cleaned_data获取经过验证后的表单数据(字典格式)然后进行所需的处理
# ...
# redirect to a new URL:
return HttpResponseRedirect('/thanks/')
# get请求
else:
form = NameForm()
return render(request, 'name.html', {'form': form})
前端调用:
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit"></form>
django 表单系统 之 forms.Form的更多相关文章
- django 表单系统 之 forms.ModelForm
继承forms.ModelForm类实现django的表单系统 有时,我们在前端定义的<form>表单和后端定义的model结构基本上是一样的,那么我们可以直接在后端定义model后,定义 ...
- python3之Django表单(一)
1.HTML中的表单 在HTML种,表单是在<form>...</form>种的元素,它允许用户输入文本,选择选项,操作对象等,然后发送这些数据到服务器 表单元素允许用户在表单 ...
- 9:django 表单
django自带表单系统,这个表单系统不仅可以定义属性名,还可以自己定义验证,更有自己自带的错误提示系统 这节我们仅仅粗略的来看一下django表单系统的入门运用(具体的实在太多东西,主要是我觉得有很 ...
- 关于创建Django表单Forms继承BaseForm的问题
在创建Django表单时,因为需要验证用户输入的验证码是否正确,因此需要在session里提取当前验证码的值和POST提交过来的值进行比对,如图: form.py from django import ...
- Django表单介绍
HTML 表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的 ...
- django 表单使用
Django提供对表单处理的支持,可以简化并自动化大部分的表单处理工作. 1 定义表单类 表单系统的核心部分是Django 的Form类. Django 的数据库模型描述一个对象的逻辑结构.行为以及展 ...
- python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)
昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...
- 第四章:Django表单 - 1:使用表单
假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...
- django表单的api
django表单的api,参考文档:https://yiyibooks.cn/xx/Django_1.11.6/ref/forms/api.html 绑定与未绑定形式: Form要么是绑定的,要么是未 ...
随机推荐
- Atitit.java的浏览器插件技术 Applet japplet attilax总结
Atitit.java的浏览器插件技术 Applet japplet attilax总结 1. Applet类及各个方法说明 1 2. JApplet类示例 2 3. / 用main方法运行JAp ...
- 前端_basic
web: 分三部分:1.HTML:2.CSS:3.JavaScript. 1.HTML:用来构建网页的结构和内容: 2.CSS:用来给网页化妆,美化网页: 3.JavaScript:用来让网页呈现动态 ...
- CCNA2.0笔记_子网划分
http://files.cnblogs.com/files/airoot/%E5%AD%90%E7%BD%91%E5%88%92%E5%88%86.zip 网络 默认子网掩码 A类 255.0.0. ...
- Javaweb开发中关于不同地方出现的绝对路径和相对路径
1.转发和包含路径 a)以“/”开头:相对当前项目路径,即默认为http://localhost:8080/项目名/ b)不以“/”开头:相对当前Servlet路径. eg:在Aservlet中写“B ...
- bootstrap table 服务器端分页--ashx+ajax
1.准备静态页面 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-T ...
- www--摘录图解TCP/IP
万维网,www,world wide web,也称web.将互联网中的信息以超文本的形式展现的系统.可以显示www信息的客户端软件叫做web浏览器. www内容 www定义了3个重要的概念,它们分别是 ...
- C# 个人疏漏整理
1.dynamic和var不能混为一谈. var声明局部变量只是一种简化语法,var要求编译器根据之后的表达式推断具体的数据类型. var只能用于声明方法内部的局部变量,dynamic则可用于局部变量 ...
- MySQL定义异常和异常处理方法
在MySQL中.特定异常须要特定处理.这些异常可以联系到错误,以及子程序中的一般流程控制.定义异常是事先定义程序运行过程中遇到的问题,异常处理定义了在遇到问题时相应当採取的处理方式.而且保证存储过程或 ...
- datagrid 溢出文本显示省略号
.datagrid-cell, .datagrid-cell-group, .datagrid-header-rownumber, .datagrid-cell-rownumber{ -o-text- ...
- OracleHelper.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Conf ...