django form总结

通过django froms模块生成html input标签

首先在当前应用下创建一个forms.py的文件

vim forms.py

from django import forms

def  forms.AdminForm(forms.Form):

username = forms.CharField() #生成明文的输入框

password = forms.CharField(widget=forms.widgets.PasswordInput)

#生成一个密文显示的输入框

password = forms.CharField(widget=forms.widgets.PasswordInput(attrs={‘class‘:‘auto‘}))

(attrs={‘class‘:‘auto‘}) #定义标签属性

email1 = forms.CharField(widget=forms.widgets.EmailInput)

email2 = forms.EmailField()

#widget类型是通过正则表达式来判定的

views.py里面写一个生成用forms模块input标签的方法

def  index2(request):

if  request.method == ‘POST’:

#判断在html表单里面提交的方式是什么(一般是2种方式 post和get)

form  = forms.AdminForm(request.POST)

#AdminForm是在froms.py里面的一个类,通过forms方法来调用,并赋值给form

if  forms.is_valid():

#判断是否合法,输入错误的会在前端页面提示错误信息

data = form.cleaned_data #请求通过接受该数据

m = AdminForm(username=‘tom‘,password=‘tom123‘)

#AdminForm里面提交数据,并保存

m.save()

else:#如果输入规则不匹配在前台显示错误信息

print form.erros.as_data()

print form.erros.as_json()

print form.erros.as_text()

常见错误信息格式

else:

form = forms.AdminForm()

#判断如果不是post方法提交的

return render_to_response(‘index2.html’,{‘model’:form})

#把结果返回给前端的index2.html,model是前端Index2.html里面的一个变量用于接                  受后台返回的数据,form是真实的数据

3.index2.html内容

<html>

<head>

<meta http-equiv="Content-Type" content="text/html"/>

<title></title>

</head>

<body>

<form action=‘/index2/‘ method=‘POST‘>

<p>用户名:{{model.username}}</p>

<p>密码:{{model.password}}</p>

<p>邮箱:{{model.email}}</p>

<input type=‘submit‘ value=‘提交‘ />

</form>

</body>

</html>

优化之后的,更简洁的省去很多html代码

<html>

<head>

<meta http-equiv="Content-Type" content="text/html"/>

<title></title>

</head>

<body>

<form action=‘/index2/‘ method=‘POST‘>

{{ model.as_table}} 已table形式展示出来

{{ model.as_ul}}  已ul形式展示出来

#具体查看form父类里面的详细方法---源码

#好处省代码

#坏处样式不可控

<input type=‘submit‘ value=‘提交‘ />

</form>

</body>

</html>

时间: 2024-08-02 12:38:04

django form总结的相关文章

Django Form表单

Django  Form 表单 在实际的生产环境中比如登录和验证的时候,我们一般都使用Jquery+ajax来判断用户的输入是否为空,假如JS被禁用的话,咱们这个认证屏障是不是就消失了呢?(虽然一般不会禁用掉但是还是存在风险) 所以我们一般做两种认证一种是前端做一遍认证,在后端做一遍认证. 首先咱们看一下下面的案例: from django.shortcuts import render # Create your views here. def user_list(request): host

django form

ModelForm的继承者有两种保存数据方式: 一:创建新的数据: f = ArticleForm(request.POST)new_article = f.save() 二:更新数据库:a = Article.objects.get(pk=1)f = ArticleForm(request.POST, instance=a)f.save() 保存时候的commit选项: f = AuthorForm(request.POST)new_author = f.save(commit=False)n

Django form模块使用心得

最近用Django 写了一个网站,现在来分享一下对Django form 的一些心得. 一,创建一个表单 创建一个Form表单有两种方式: 第一种方式是继承于forms.Form,的一个子类,通过在form中选择你需要的类型来规定表单之 中字段的类型 Java代码   class ContactForm(forms.Form): subject = forms.CharField(max_length=100) message = forms.CharField(required=False)

Django Form的基本实现机制和基本概念

基于Django1.9 Doc-Form 本文只是理清Django Form系统中的关键概念和关键流程,没有关注其中的细节实现, 目的是对Djano的Form实现机制能有一个直观的了解,能够从从整体上把握它. 如果想深入了解代码实现及各种技术细节,可以阅读Django官方文档. 1 为什么要使用Django Form? 什么情况下要使用Django Form? Unless you’re planning to build websites and applications that do no

Django ==&gt; Form 组件

Django ==> Form 组件 目录: 1.基本使用 2.form中字段和插件 3.自定义验证规则 4.动态加载数据到form中 Action: 1.基本使用 django 中的Form组件有一下功能: 1.生成html标签 2.验证用户数据(显示错误信息) 3.html form 提交保留上次提交数据 4.初始化页面显示内容 要使用 form 类,首先需要创建这个类,方法如下: from django.forms import Form from django.forms import

【python】-- Django Form

Django  Form Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容(自定义样式) 一.Form 简单示例: 1.view中创建Form类并进行函数处理 class FM(forms.Form): user = fields.CharField() pwd = fields.CharField() email = fields.EmailField() def fm(request):

6月28日 Django form表单

Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通的登录 views.p

Django Form和ModelForm组件

Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 vi

17 Django Form组件

目录 一.Form 介绍 二.注册功能校验数据案例 1.普通方式手写注册功能 2. 使用Form组件实现注册功能校验数据 三.Form组件如何校验数据 四.Form组件如何渲染前端页面 方式一: 方式二: 方式三: 五.Form组件如何展示错误信息 六.Form组件 参数 七.Form组件 钩子函数 1. 局部钩子函数 2. 全局钩子函数 一.Form 介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多

Django Form and ModelForm

Form介绍 在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.