找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 6608|回复: 4

[已解决] Python如何处理网页表单提交的数据?

9

主题

39

帖子

39

积分

贫民

积分
39
午夜垃圾桶 发表于 2016-12-29 19:41:30 | 显示全部楼层 |阅读模式
自己想试着弄一个注册页面,请问一下如何将注册页面的表单数据通过Python处理,存入数据库?

回复

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
tony-stark 发表于 2016-12-31 10:30:54 来自手机 | 显示全部楼层
可以,通过cgi的FieldStorage获取post提交的数据。
回复 支持 1 反对 0

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-12-29 20:41:04 | 显示全部楼层
其实还蛮复杂的。 看看这个: http://docs.jinkan.org/docs/flask/tutorial/index.html
python3.4.4, win10
回复 支持 反对

使用道具 举报

9

主题

39

帖子

39

积分

贫民

积分
39
午夜垃圾桶  楼主| 发表于 2016-12-30 22:20:22 | 显示全部楼层
whydo1 发表于 2016-12-29 20:41
其实还蛮复杂的。 看看这个: http://docs.jinkan.org/docs/flask/tutorial/index.html

好复杂。。看不懂请问一下自带的CGI模块可以处理吗?
回复 支持 反对

使用道具 举报

9

主题

39

帖子

39

积分

贫民

积分
39
午夜垃圾桶  楼主| 发表于 2017-1-5 11:46:36 | 显示全部楼层
tony-stark 发表于 2016-12-31 10:30
可以,通过cgi的FieldStorage获取post提交的数据。

我写了一个简单的表单网页,按照百度的方法又写了一个py处理脚本,但是在点击注册的时候却只是显示这个py脚本的代码啊
表单网页:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
  5.         <link rel='icon' href='/home/wu/lanrenimg/5.gif' />
  6.         <title>注册</title>
  7.         <style type='text/css'>
  8.         #login {width:500px;margin:0 auto;}
  9.         .must {color:red;}
  10.         .word {text-align:right;margin-right:30px;}
  11.         #utip,#ptip,#rtip,#mtip {color:red;font-size:10px;}
  12.         </style>
  13.         <script>
  14.         function verun()
  15.         {
  16.                 var uname=document.getElementById('usename').value;
  17.                 if(uname==''||uname==null)
  18.                 {
  19.                         document.getElementById('utip').innerHTML='请填写用户名';
  20.                         document.getElementById('usename').focus();
  21.                         return false;
  22.                 }
  23.                 else
  24.                 {
  25.                         document.getElementById('utip').innerHTML='';
  26.                         return true;
  27.                 }
  28.         }
  29.        
  30.         function verpwd()
  31.         {
  32.                 var pwd=document.getElementById('pwd').value;
  33.                 if(pwd==''||pwd==null)
  34.                 {
  35.                         document.getElementById('ptip').innerHTML='请填写密码';
  36.                         document.getElementById('pwd').focus();
  37.                         return false;
  38.                 }
  39.                 else
  40.                 {
  41.                         document.getElementById('ptip').innerHTML='';
  42.                         return true;
  43.                 }
  44.         }

  45.         function verrepwd()
  46.         {
  47.                 var repwd=document.getElementById('repwd').value;
  48.                 var pwd=document.getElementById('pwd').value;
  49.                 if(repwd!==pwd)
  50.                 {
  51.                         document.getElementById('rtip').innerHTML='密码不一致';
  52.                         document.getElementById('repwd').focus();
  53.                         return false;
  54.                 }
  55.                 else
  56.                 {
  57.                         document.getElementById('rtip').innerHTML='';
  58.                         return true;
  59.                 }
  60.         }

  61.         function vermail()
  62.         {
  63.                 var mail=document.getElementById('mail').value;
  64.                 if(mail==''||mail==null||mail.indexOf('@')==0||mail.indexOf('.')-mail.indexOf('@')<=1)  //邮箱验证不完善
  65.                 {
  66.                         document.getElementById('mtip').innerHTML='请填写有效的邮箱';
  67.                         document.getElementById('mail').focus();
  68.                         return false;
  69.                 }
  70.                 else
  71.                 {
  72.                         document.getElementById('mtip').innerHTML='';
  73.                         return true;
  74.                 }
  75.         }

  76.         function check()
  77.         {
  78.                 if(verun() && verpwd() && verrepwd() && vermail()==true)
  79.                         return true;
  80.                 else
  81.                 {
  82.                         alert('注册失败,请按要求填写信息!')
  83.                         return false;
  84.                 }
  85.         }
  86.         </script>
  87. </head>
  88. <body>
  89.         <div id='login'>
  90.                 <form action='./cgi-bin/test.py' onsubmit="return check();" method='post'>
  91.                 <table>               
  92.                         <tr>
  93.                                 <td><span class='must'>*</span>用户名:</span></td>
  94.                                 <td><input type='text' name='usename' id='usename' onblur='verun()' /></td>
  95.                                 <td style='width:80px;'><span id='utip'></span></td>
  96.                         </tr>
  97.                         <tr>
  98.                                 <td><span class='must'>*</span>密码:</span></td>
  99.                                 <td><input type='password' name='pwd' id='pwd' onblur='verpwd()' /></td>
  100.                                 <td style='width:80px;'><span id='ptip'></span></td>
  101.                         </tr>
  102.                         <tr>
  103.                                 <td><span class='must'>*</span>重复密码:</span></td>
  104.                                 <td><input type='password' name='repwd' id='repwd' onblur='verrepwd()' /></td>
  105.                                 <td style='width:80px;'><span id='rtip'></span></td>
  106.                         </tr>
  107.                         <tr>
  108.                                 <td><span class='must'>*</span>性别:</span></td>
  109.                                 <td><input name='sex' id='sex' type='radio' value='male' checked='checked' />男  <input type='radio' value='female' />女</td>
  110.                         </tr>
  111.                         <tr>
  112.                                 <td>出生日期:</td>
  113.                                 <td><input type='data' name='bdata' /></td>
  114.                         </tr>
  115.                         <tr>
  116.                                 <td><span class='must'>*</span>邮箱:</span></td>
  117.                                 <td><input type='text' name='mail' id='mail' onblur='vermail()' /></td>
  118.                                 <td style='width:80px;'><span id='mtip'></span></td>
  119.                         </tr>
  120.                         <tr>
  121.                                 <td colspan='3' style='text-align:center;'><input type='submit' value='注册' /></td>
  122.                         </tr>
  123.                 </table>
  124.                 </form>
  125.         </div>
  126.        
  127. </body>
  128. </html>
复制代码


py脚本:
  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-

  3. import cgi

  4. form = cgi.FieldStorage()

  5. name = form['usename'].value
  6. password = form['pwd'].value
  7. sex = form['sex'].value
  8. mail = form['mail'].value

  9. print 'Content-Type:text/html'
  10. print 'charset:utf-8'
  11. print

  12. print '<p>name:%s</p>' %name
  13. print '<p>mail:%s</p>' %mail
复制代码


出现的情况:

搜狗截图20170105114409.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表