django为我们提供了form表单验证功能,下面来学习一下:


创建了django项目之后,创建app。

 配置urls:
  1. from django.conf.urls import url
  2. from django.contrib import admin
  3. from myapp01 import views
  4. urlpatterns = [
  5. url(r'^admin/', admin.site.urls),
  6. url(r'^login/', views.login),
  7. ]
配置views(app01.views):
  1. from django.shortcuts import render
  2. from django import forms
  3. # Create your views here.
  4. class InputForm(forms.Form):
  5. # 下面使用的变量名必须和html中input标签的name值相同
  6. username = forms.CharField(required=True)
  7. password = forms.CharField(required=True)
  8. def login(request):
  9. if request.method == 'POST':
  10. obj = InputForm(request.POST)
  11. ret = obj.is_valid()
  12. print(ret,obj.data)
  13. if ret:
  14. print(obj.clean())
  15. else:
  16. print(obj.errors)
  17. return render(request, 'login.html')

配置tamplates(index.html):
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <div>
  9. <div>
  10. <input type="text" name="username" />
  11. </div>
  12. <div>
  13. <input type="password" name="password" />
  14. </div>
  15. <input type="button" value="提交" onclick="DoSubmit();"/>
  16. </div>
  17. <script src="/static/jquery-2.1.4.min.js"></script>
  18. <script>
  19. function DoSubmit() {
  20. var input_dic = {};
  21. $('input').each(function () {
  22. var v = $(this).val();
  23. var n = $(this).attr('name');
  24. input_dic[n] = v;
  25. });
  26. console.log(input_dic);
  27. $.ajax({
  28. url:'/login/',
  29. type:'POST',
  30. data:input_dic,
  31. success: function (rdata) {
  32. console.log(rdata);
  33. },
  34. error: function () {
  35. }
  36. })
  37. }
  38. </script>
  39. </body>
  40. </html>

 提交之后就可以获取输入的内容。

 
 
 

循序渐进Python3(十三) --0-- django之form表单的更多相关文章

  1. Django的form表单

    html的form表单 django中,前端如果要提交一些数据到views里面去,需要用到 html里面的form表单. 例如: # form2/urls.py from django.contrib ...

  2. Django 11 form表单(状态保持session、form表单及注册实现)

    Django 11 form表单(状态保持session.form表单及注册实现) 一.状态保持 session 状态保持 #1.http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状 ...

  3. 转载:Django之form表单

    转载: 一.使用form类创建一个表单 先定义好一个RegForm类: forms.py from django import forms # 导入forms类 class NameForm(form ...

  4. Django--分页器(paginator)、Django的用户认证、Django的FORM表单

    分页器(paginator) >>> from django.core.paginator import Paginator >>> objects = ['joh ...

  5. django之form表单验证

    django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf- -*- import re from django ...

  6. Day19 Django之Form表单验证、CSRF、Cookie、Session和Model操作

    一.Form表单验证 用于做用户提交数据的验证1.自定义规则 a.自定义规则(类,字段名==html中的name值)b.数据提交-规则进行匹配代码如下: """day19 ...

  7. 【django之form表单】

    一.构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的模板: <form action="/your-name/" method=&qu ...

  8. Django 提交 form 表单(使用sqlite3保存数据)

    优化 提交 form 表单,https://www.cnblogs.com/klvchen/p/10608143.html 创建数据库的字段,在 models.py 中添加 from django.d ...

  9. django - 总结 - form表单

    {{ form.as_table }} 以表格的形式将它们渲染在<tr> 标签中 {{ form.as_p }} 将它们渲染在<p> 标签中 {{ form.as_ul }} ...

随机推荐

  1. inline,block,inline-block解析

    display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度 <div& ...

  2. 【SQL查询】按照多个字段进行排序_order by

    注: 1. 当前面的排序存在重复的项,后面的排序才会起作用. [示例1]:前面的排序不存在重复的项 [示例2]:前面的排序存在重复的项

  3. jsp的组成和执行过程

    jsp由以下五个组成: Html静态页面 指令:  <%@  xxx  %> 小脚本:<%   xxx   %> 表达式:<% =       %> 声明:  &l ...

  4. Uncaught TypeError: Cannot read property 'decimalSeparator' of undefined

    1.错误描述 jquery.jqGrid.min.js:477 Uncaught TypeError: Cannot read property 'decimalSeparator' of undef ...

  5. 从无到有开发自己的Wordpress博客主题---局部模板的准备

    毫无疑问,我们媒体页面都会有header和footer,这些用到的内容几乎是一样的. 从无到有,我们先不考虑后面可能用到的Search和Comment等的模板,后面的我会在文本最后面追加. 开始之前, ...

  6. I.MX6 ethtool 移植

    /************************************************************************* * I.MX6 ethtool 移植 * 说明: ...

  7. HihoCoder 1097 Prim算法

    1097 : 最小生成树一·Prim算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以 ...

  8. win7下破解无线网密码

    很多朋友喜欢做一些比较有成就感的事情,例如破解别人的密码,现在破解的方式大部分还是以跑字典这种没有任何技术含量的手段进行,那么破解的成功与否就和我们的字典有很多的关系了,本次经验就来教大家怎样进行字典 ...

  9. description方法

    1.NSLog回顾 众所周知,我们可以用NSLog函数来输出字符串和一些基本数据类 1 int age = 11; 2 NSLog(@"age is %i", age); * 第2 ...

  10. yield 与生成器

    yield的功能类似于return,但是不同之处在于它返回的是生成器. 生成器 生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器). 如果一个函数 ...