From表单验证

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form id="fm" action="/f1.html" method="POST">
<p>{{ obj.user }}{{ obj.errors.user.0 }}</p>
<p>{{ obj.pwd }}{{ obj.errors.pwd.0 }}</p>
<p>{{ obj.age }}{{ obj.errors.age.0 }}</p>
<p>{{ obj.email }}{{ obj.errors.email.0 }}</p>
<p><input type="submit" value="提交"/></p>
<p><input type="button" value="Ajax提交" onclick="submitAjaxForm();"/></p>
</form>
<script src="/static/jquery-3.1.1.js"></script>
<script>
function submitAjaxForm() {
$.ajax({
url:'/f1.html',
type:'POST',
data:$('#fm').serialize(),
success:function (arg) {
console.log(arg);
} })
}
</script>
</body>
</html>

HTML看我


from django.shortcuts import render,HttpResponse,redirect
from django import forms
from django.forms import fields
# Create your views here.
class F1Form(forms.Form):
user = fields.CharField(max_length=18,
min_length=6,
required=True,
error_messages={
'required':'用户名不能为空',
})
pwd = fields.CharField(min_length=32, required=True)
age = fields.IntegerField(
required=True,
error_messages={
'invalid':'必须为数字格式',
'required':'年龄不能为空'
}
)
email = fields.EmailField(
required=True,
error_messages={
'invalid':'必须为邮件格式,带@的那种',
'required': '邮箱不能为空'
}
) def f1(request):
if request.method =='GET':
obj = F1Form()
return render(request,'f1.html',{'obj':obj})
else:
# u = request.POST.get('user') #不能为空,长度6-18
# p = request.POST.get('pwd') #不能为空
# e = request.POST.get('email') #邮箱格式
# a = request.POST.get('age') #不能为空,必须为数字类型
#
# #1.检查是否为空
# #2.检查格式是否正确
# print(u,p,e,a)
obj = F1Form(request.POST)
#是否验证成功
if obj.is_valid():
#已经验证过的数据
print('验证成功',obj.cleaned_data)
return redirect('http://www.baidu.com')
else:
print('验证失败',obj.errors)
return render(request,'f1.html',{'obj':obj})

Views看我

"""day58 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from app01 import views
from app02 import views as v2
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^index.html$',views.index),
url(r'^index1.html$', views.index1),
url(r'^f1.html$', v2.f1),
]

最新文章

  1. 通读AFN③--HTTPS访问控制(AFSecurityPolicy),Reachability(AFNetworkReachabilityManager)
  2. SSRS报表参数设置
  3. node js 调试
  4. WPF学习笔记 控件篇 属性整理【1】FrameworkElement
  5. windows/ubuntu 文件共享之 Samba 配置
  6. Angular2 从0到1 (一)
  7. xml基础学习笔记
  8. 3.0:pandas【基础操作】
  9. mongo 修改器
  10. Cocos Creator学习二:查找节点和查找组件
  11. PEP8 Python编程规范
  12. C#一年中有多少周方法和js一年中第几周
  13. 创业成本?亲身经历告诉你做一个app要多少钱
  14. redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis
  15. 如何删除win8自带输入法
  16. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)
  17. HelloWorld 和相关设置
  18. egret打包android + android微信登录--小结
  19. win7 下vs2008试用版破解
  20. Jquery实现超酷的时间轴特效

热门文章

  1. SQL SEVER 递归查询
  2. bootstrapvalidator使用,重置校验
  3. qqbot 出现请求接口失败的问题
  4. 破解sublim_Text3
  5. Nginx部署静态资源(及root与alias区别)
  6. 分类IP地址
  7. 训练1-H
  8. js sort根据数值大小自动排序(转)
  9. [React Router] Prevent Navigation with the React Router Prompt Component
  10. XTU1201:模和除