简单的from验证

文件目录结构

urls.py

from app1.views import account
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/',account.index),
]

  

settings.py

STATICFILES_DIRS =(
os.path.join(BASE_DIR,'static')
)
##配置静态路由

  

forms.py

from django import forms
from app1 import models class Form1(forms.Form):
user =forms.CharField(
# widget 自定义froms属性
widget=forms.TextInput(attrs={'class':'c1'}),
error_messages={'required':'用户名不可以为空'},
)
# max_length最长多少位,min_length最少多少位
pwd =forms.CharField(max_length=4,min_length=2)
# error_messages 错误信息 required 审核是否为空 invalid 格式是否正确
email =forms.EmailField(error_messages={'required':'邮件不可以为空',
'invalid':'邮箱格式错误',
})
memo =forms.CharField(
# Textarea文本下拉框
widget=forms.Textarea()
) user_type_choice=(
(0,'人体学'),
(1,'高级科技学'),
)
# user_type_choice = models.BookType.objects.values_list('id', 'caption') ##从数据库取数据 book_type =forms.CharField(
widget=forms.widgets.Select(choices=user_type_choice,
attrs={'class':"form-control"}))
# Select 下拉框属性 choices 选择的东西 ,attrs获取属性

  

views.account.py

from django.shortcuts import render

# Create your views here.
from app1.forms import Form1 def index(request):
if request.method=='POST':
f =Form1(request.POST)##判断用户输入的是否合法
if f.is_valid():##如果用户输入的合法
print(f.cleaned_data)
# cleaned_data中字段值是个model实例字典。 else:##不合法
print('&&&&&&&&&&&*********',f,'$$$$$$$$$$#########')
return render(request,'account/form1.html',{'error':f.errors,'form':f}) else:
f =Form1() ##空值,
return render(request,'account/form1.html',{'error':f.errors,'form':f})
F 里面输出 &&&&&&&&&&&********* <tr><th><label for="id_user">User:</label></th><td><ul class="errorlist"><li>用户名不可以为空</li></ul><input class="c1" id="id_user" name="user" type="text" required /></td></tr> <tr><th><label for="id_pwd">Pwd:</label></th><td><ul class="errorlist"><li>This field is required.</li></ul><input id="id_pwd" maxlength="4" minlength="2" name="pwd" type="text" required /></td></tr> <tr><th><label for="id_email">Email:</label></th><td><ul class="errorlist"><li>邮件不可以为空</li></ul><input id="id_email" name="email" type="email" required /></td></tr> <tr><th><label for="id_memo">Memo:</label></th><td><ul class="errorlist"><li>This field is required.</li></ul><textarea cols="40" id="id_memo" name="memo" rows="10" required> </textarea></td></tr> <tr><th><label for="id_book_type">Book type:</label></th><td><select class="form-control" id="id_book_type" name="book_type" required> <option value="0" selected="selected">人体学</option> <option value="1">高级科技学</option> </select></td></tr> $$$$$$$$$$#########

  

form1.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/index/" method="post">
<div class="inline-group">
{{ form.user }}
{# form.user用户,error.user.0 判断有没有error信息 #}
{% if error.user.0 %}
<span>{{ error.user.0 }}</span>
{% endif %}
</div>
<div class="inline-group">
{{ form.pwd }}
{% if error.pwd.0 %}
<span>{{ error.pwd.0 }}</span>
{% endif %}
</div>
<div class="inline-group">
{{ form.email }}
{% if error.email.0 %}
<span>{{ error.email.0 }}</span>
{% endif %}
</div>
<div class="inline-group">
{{ form.memo }}
{% if error.memo.0 %}
<span>{{ error.memo.0 }}</span>
{% endif %}
</div>
<div class="inline-group">
{{ form.book_type }}
{% if error.book_type.0 %}
<span>{{ error.book_type.0 }}</span>
{% endif %}
</div>
<div>
<input type="submit" value="提交">
</div> </form> </body>
</html>

  

输出效果

Django form的更多相关文章

  1. django: form fileupload - 1

    本节介绍 Form 中一些字段类型的使用,以文件上传字段 FileField 为例:(注,其它字段和相关用法见官方文档中的 Forms -> Built-in Fields) 一,配置 urls ...

  2. django form表单验证

    一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html ...

  3. Django form模块使用心得

    最近用Django 写了一个网站,现在来分享一下对Django form 的一些心得. 一,创建一个表单 创建一个Form表单有两种方式: 第一种方式是继承于forms.Form,的一个子类,通过在f ...

  4. Python Web框架篇:Django Form组件

    Form简介 在HTTP中,表单(form标签),是用来提交数据的,其action属性说明了其传输数据的方法:如何传.如何接收. 访问网站时,表单可以实现客户端与服务器之间的通信.例如查询,就用到了表 ...

  5. Django form表单

    Form介绍 之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入, ...

  6. django Form组件

    django Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建 ...

  7. Django Form和ModelForm组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  8. 9.24 Django Form组件

    2018-9-23 20:10:04 这两天优化了自己图书管理系统 github 连接:https://github.com/TrueNewBee/pythonDemo 顺便整理了博客,写了好多总结, ...

  9. [py][mx]django form验证-给db减压

    django form认证-解压db压力 一般系统都需要前后端都验证 前端验证容器逃逸破解,如通过js console口去发 试想如果后端只有db验证,那么前端无论发什么后端都查询一次db,对db压力 ...

  10. Django学习笔记之Django Form表单详解

    知识预览 构建一个表单 在Django 中构建一个表单 Django Form 类详解 使用表单模板 回到顶部 构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的 ...

随机推荐

  1. C#开发微信门户及应用(21)-微信企业号的消息和事件的接收处理及解密

    在上篇随笔<C#开发微信门户及应用(19)-微信企业号的消息发送(文本.图片.文件.语音.视频.图文消息等)>介绍了有关企业号的消息发送,官方特别声明消息是不用加密发送的.但是在回调的服务 ...

  2. 《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  3. Eclipse 日期和时间格式自定义

    点击下载Eclipse插件  org.eclipse.text_3.5.300.v20130515-1451.jar  覆盖下图所示的jar文件. /************************* ...

  4. css和@import区别用法

    css和@import都是调用外部样式表的方法. 一.用法 (1)link: <link rel="stylesheet" type="text/css" ...

  5. [备查]使用 SPQuery 查询 "Person or Group" 字段

    原文地址:http://www.stum.de/2008/02/06/querying-the-person-or-group-field-using-spquery/ Querying the “P ...

  6. SQL Server附加数据库失败错误号:5120的解决办法

    附加数据库时出现附加数据库失败的错误,错误号是5120,已经两次遇到这种问题了.今天写一下解决办法. 有两个方法,很简单: 1.设置mdf文件所在文件夹的权限,在文件夹上右击——属性——安全,如图所示 ...

  7. RadioButton与CheckBox

    笔者长期从事于数据库的开发,算了,不提当年了,因为一直用的是小语种(PowerBuilder),还是来说说这两个最常见的控件吧! RadioButton(单选)和CheckBox(多选) 先来看看继承 ...

  8. 理解和使用SQL Server中的并行

    许多有经验的数据库开发或者DBA都曾经头痛于并行查询计划,尤其在较老版本的数据库中(如sqlserver2000.oracle 7.mysql等).但是随着硬件的提升,尤其是多核处理器的提升,并行处理 ...

  9. 简单配置 nginx 反向代理

    # Nginx 域名反向代理配置# 安装nginx yum install nginx -y# 修改配置文件 进入配置文件目录 cd /etc/nginx/conf.d 新建配置文件以.conf结尾 ...

  10. Web.xml配置详解

    (转自:http://www.cnblogs.com/chinafine/archive/2010/09/02/1815980.html) 1 定义头和根元素 部署描述符文件就像所有XML文件一样,必 ...