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. 【专题】区间dp

    1.[nyoj737]石子合并 传送门:点击打开链接 描述    有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这 ...

  2. S3C2440启动方式

    不管S3C2440的启动设备是什么,它都是从0x0000 0000地址开始执行程序的,所不同的是地址的映射不一样.基于S3C2440的嵌入式系统上电之后,需要首选选择启动设备,2440的启动方式选择是 ...

  3. C#基础知识梳理系列

    1. 这个系列深入的从IL层面谈了C#各种基本知识的本质,十分值得学习: http://www.cnblogs.com/solan/category/398748.html

  4. 移动元素时,translate要比margin好

    比如 做全屏轮播时,父元素往往是被子元素撑起来的,那你设置父元素的margin时,往往会感染到子元素,如下图: 而用translate3d就不会出现这种效果:

  5. How to use NSRequest in Delphi XE4

    //Demo How to use NSRequest..procedure TiOSWebBrowserService.DoNavigate(const URL: string);var NewUR ...

  6. 转载:TCP连接的状态详解以及故障排查

    FROM:http://blog.csdn.net/hguisu/article/details/38700899 该博文的条理清晰,步骤明确,故复制到这个博文中收藏,若文章作者看到且觉得不能装载,麻 ...

  7. POJ1251 Jungle Roads

    解题思路:看懂题意是关键,Kruskal算法,最小生成树模板. 上代码: #include<cstdio> #include<cstring> #include<algo ...

  8. Redis设计与实现 (一): 简单动态字符串

    1.定义 Redis没有使用C语言的字符串,  C语言的字符串只会用在不需要对字符串修改而只使用其值地方. Redis使用SDS表示字符串, 结构定义 : typedef char *sds; str ...

  9. SSH使用总结(xml配置)

    beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  10. matlab中一些常用的函数

    stem函数h = stem(x,y); %绘制火柴梗图 ,stem的工作原理是,根据一个x对应一个y,绘制火柴梗图.