新学期开学,又要统计学生信息。如果每个人都填写一个Excel的话,最后做汇总工作的那个人一定神烦。所以基于django编了一个小网页,用于采集学生的基本信息。刚学会做网页,也是第一次用django,写的不好,望见谅。主要参考了菜鸟教程的django系列教程,很简单,一两个小时就上手了。如果之前对django不熟悉的,可以先把上面的几个教程看一下,然后再看我的源码应该就很简单了。接下来直接介绍代码,程序源码我放到了我的github上面,欢迎大家下载~~:
1,先写一个静态HTML页面,是信息采集的表单。没什么好说的:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>学硕4班信息采集</title>
</head>
<body><h1>学硕4班信息采集</h1><h2>请大家认真填写,每一项都不要有空缺。填写完毕之后点击提交按钮即可</h2><form action="/xinxicaiji/" method="get"><table><tr><td>姓名</td><td><input type="text" name="xingming"></td><td>XXX</td></tr><tr><td>学号</td><td><input type="text" name="xuehao"></td><td>2011210220</td></tr><tr><td>导师</td><td><input type="text" name="daoshi"></td><td>张三</td></tr><tr><td>导师电话</td><td><input type="text" name="dsdianhua"></td><td>13333333333</td></tr><tr><td>本人手机号</td><td><input type="text" name="brdianhua"></td><td>18888888888</td></tr><tr><td>邮箱</td><td><input type="text" name="eMail"></td><td>a@b.c</td></tr><tr><td>微信号</td><td><input type="text" name="weixin"></td><td>583960209</td></tr><tr><td>QQ号</td><td><input type="text" name="QQ"></td><td>583960209</td></tr><tr><td>体重</td><td><input type="text" name="weight"></td><td>70</td></tr><tr><td>身高</td><td><input type="text" name="height"></td><td>180</td></tr><tr><td>鞋号</td><td><input type="text" name="size"></td><td>42</td></tr><tr><td>火车站</td><td><input type="text" name="huochezhan"></td><td>太原站</td></tr><tr><td>特长</td><td><input type="text" name="habit"></td><td>足球</td></tr><tr><td>学费</td><td><input type="text" name="money"></td><td>8000</td></tr><tr><td>父亲姓名</td><td><input type="text" name="baba"></td><td>李四</td></tr><tr><td>父亲工作</td><td><input type="text" name="babaGongzuo"></td><td>某厂职工</td></tr><tr><td>父亲手机号</td><td><input type="text" name="babatel"></td><td>18888888888</td></tr><tr><td>母亲姓名</td><td><input type="text" name="mama"></td><td>王五</td></tr><tr><td>母亲工作</td><td><input type="text" name="mamaGongzuo"></td><td>某厂职工</td></tr><tr><td>母亲手机号</td><td><input type="text" name="mamatel"></td><td>18888888888</td></tr><tr><td>家庭电话</td><td><input type="text" name="hometel"></td><td>18888888888</td></tr><tr><td>家庭地址</td><td><input type="text" name="homeadd"></td><td>某省某市某街道</td></tr><tr><td>在京联系人姓名</td><td><input type="text" name="beijing"></td><td>赵六</td></tr><tr><td>在京联系人工作</td><td><input type="text" name="beijingGongzuo"></td><td>某厂职工</td></tr><tr><td>在京联系人手机号</td><td><input type="text" name="beijingtel"></td><td>18888888888</td></tr><tr><td>宿舍号</td><td><input type="text" name="dor"></td><td>学十925</td></tr><tr><td>宿舍长</td><td><input type="text" name="dorP"></td><td>刘七</td></tr></table><input type="submit" value="提交"></form>
</body>
</html>

效果如下图所示:

2,配置数据库设置。在项目路径下执行python manage.py startapp *** 新建一个引用。然后修改里面的 models.py文件,其实就是新建一个类,对应于数据库的表。类的每一个属性对应于表中的每一个字段。类定义如下图所示,其实就是要采集的信息。

class XinXiCaiJi(models.Model):xingming = models.CharField(max_length=20)xuehao = models.CharField(max_length=20)daoshi = models.CharField(max_length=20)dsdianhua = models.CharField(max_length=20)brdianhua = models.CharField(max_length=20)eMail = models.CharField(max_length=30)weixin = models.CharField(max_length=20)QQ = models.CharField(max_length=20)weight = models.CharField(max_length=20)height = models.CharField(max_length=20)size = models.CharField(max_length=20)huochezhan = models.CharField(max_length=20)habit = models.CharField(max_length=400)money = models.CharField(max_length=20)baba = models.CharField(max_length=20)babaGongzuo = models.CharField(max_length=20)babatel = models.CharField(max_length=20)mama = models.CharField(max_length=20)mamaGongzuo = models.CharField(max_length=20)mamatel = models.CharField(max_length=20)hometel = models.CharField(max_length=20)homeadd = models.CharField(max_length=200)beijing = models.CharField(max_length=20)beijingGongzuo = models.CharField(max_length=20)beijingtel = models.CharField(max_length=20)dor = models.CharField(max_length=20)dorP = models.CharField(max_length=20)

然后执行python manage.py migrate 就可以生成对应的数据库了。在此之前你需要在settings.py文件中设置数据库信息和本应用app的信息,具体参见菜鸟教程 的文章,注意,有的教程生成数据库的命令用的是python manage.py syncdb。这是老版本,新版的django都已经改成migrate。还有就是可能你的项目部署之后可能会提醒你数据库的表并未建立,此时应该执行以下两个命令,重新建立数据表。

python manage.py makemigrations
python manage.py migrate

3,页面和数据库都有了,接下来就是页面之间跳转和页面内操作的定义。首先定义urls.py文件。初始登录hello页面,指向前面写的HTML模板,当点击提交按钮后,跳转到xinxicaiji页面,指向caijiwangcheng函数。

    url(r'^hello/$', hello),url(r'^xinxicaiji/$', search.caijiwancheng),

caijiwancheng函数定义如下:主要功能是判断信息填写是否完整并将该条数据插入数据库中;

def caijiwancheng(request):request.encoding = 'utf-8'message = ''for key in request.GET:if request.GET[key] == '':message = '请填写完整信息'breakif 'xingming' in request.GET and message == '':message = request.GET['xingming'].encode('utf-8') + '同学,你的信息录入完成。谢谢配合~'test1 = XinXiCaiJi(xingming = request.GET['xingming'], xuehao = request.GET['xuehao'], daoshi = request.GET['daoshi'],dsdianhua = request.GET['dsdianhua'], brdianhua = request.GET['brdianhua'], eMail = request.GET['eMail'],weixin = request.GET['weixin'], QQ = request.GET['QQ'], weight = request.GET['weight'], height = request.GET['height'],size = request.GET['size'], huochezhan = request.GET['huochezhan'], habit = request.GET['habit'],money = request.GET['money'], baba = request.GET['baba'], babaGongzuo = request.GET['babaGongzuo'], babatel = request.GET['babatel'],mama = request.GET['mama'], mamaGongzuo = request.GET['mamaGongzuo'], mamatel = request.GET['mamatel'], hometel = request.GET['hometel'],homeadd = request.GET['homeadd'], beijing = request.GET['beijing'], beijingGongzuo = request.GET['beijingGongzuo'],beijingtel = request.GET['beijingtel'], dor = request.GET['dor'], dorP = request.GET['dorP'])test1.save()return HttpResponse(message)

这样基本的功能模块都已完成,就可以上线部署了。很简单,执行python manage.py runserver 0.0.0.0:8000 即可。注意,这里必须是0。0。0。0,只有这样别人才可以访问你的网页。我是放在自己电脑上,然后校内网可以访问。如果要部署到外网上还要买域名空间之类的,没有尝试。
这样大家填写完成之后,你就可以把数据库导出来做成excel表了。代码请参考github网站。

基于django框架编写的简单信息采集系统相关推荐

  1. 订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)

    系列文章目录 需求分析--基于Django框架的天天生鲜电商网站项目系列博客(一) 网站框架搭建--基于Django框架的天天生鲜电商网站项目系列博客(二) 用户注册模块--基于Django框架的天天 ...

  2. 苹果树病虫智能识别的web部署,基于django框架

    苹果树病虫智能识别的web部署,基于django框架 本WebApp是基于django框架来实现对苹果树病虫智能识别App的web部署 苹果树病虫智能识别App请参考人工智能 机器学习中的相关文章 用 ...

  3. 网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)

    系列文章目录 需求分析--基于Django框架的天天生鲜电商网站项目系列博客(一) 网站框架搭建--基于Django框架的天天生鲜电商网站项目系列博客(二) 用户注册模块--基于Django框架的天天 ...

  4. 4款基于Django框架的开源软件推荐

    Django是一款高性能的Python web框架,鼓励快速开发和干净.务实的设计.Django项目是一个定制框架,它源自一个在线新闻Web站点,于2005年以开源的形式被释放出来.Django的重点 ...

  5. 基于Django框架的网络云盘设计

    基于Django框架的网络云盘设计 网络云盘设计流程(第一篇) 前言 前期准备与环境搭建 创建一个Django工程,跑一个HelloWorld 网盘设计简介及成果展示 功能1,"登录&quo ...

  6. 基于Django框架的视频播放器设计

    基于Django框架的视频播放器设计 前言 一.简介 二.详细实现步骤 1.路由配置 2.后台代码设计(对云盘接口的访问) 3.后台代码设计(流式视频传输) 4.前端功能设计(视频播放列表) 5.前端 ...

  7. 基于.NET 框架的 C#停车场信息管理系统(C#/SQL)

    摘自本人本科毕业设计论文,版权归知网,请勿转载. GitHub源码:https://github.com/ShuaiWang-Code/My-project-for-the-undergraduate ...

  8. 基于驱动框架编写驱动代码

    前言:基于上一个博文对 linux驱动的认知的了解,那么现在开始我们正式来进入学习基于驱动框架来编写驱动代码,那么接下来我们先来看看一个最简单的驱动框架代码 一.字符设备驱动框架代码与应用层代码 驱动 ...

  9. python程序设计采用格式框架结构_Python笔记:基于Django框架的项目架构程序设计...

    项目使用技术 基于Python语言,版本:>=3.5及以上. 使用Django框架,版本:1.11.11的LTS版本. MySQL数据库 连接数据库:pymysql=0.8.0 图像处理: Pi ...

最新文章

  1. 计算机开启时提示键盘错误,电脑开机出现异常提示keyboard not found的故障原因及解决方法_电脑故障...
  2. Android 启动过程详解
  3. 增强学习(五)----- 时间差分学习(Q learning, Sarsa learning)
  4. 接口测试工具-Jmeter压力测试使用
  5. 浏览器插件之ActiveX开发(二
  6. LINUX内核经典面试题
  7. CentOS 7.6 64位安装docker并设置开机启动
  8. node.js mysql 不退出,mysql - 错误:使用NodeJS在MySQL中调用退出后无法排队查询 - SO中文参考 - www.soinside.com...
  9. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1045:收集瓶盖赢大奖
  10. gcc malloc/free的质疑
  11. Android OpenGL 使用
  12. hadoop1.0集群搭建
  13. c语言初学者程序,C语言初学者必懂的100个范例程序
  14. 易基因|RNA m6A甲基化测序(MeRIP-seq)技术介绍
  15. 2022最新全天狼星网络验证系统源码
  16. 电容器指南(一)-基本性能介绍
  17. QQ玩一玩获取PUIN
  18. there is no statement named xxx in this SqlMap
  19. Opencv C++成长之路(八):高斯双边滤波 (图像处理磨皮)
  20. 如何在微信里使用计算机,怎么用电脑上微信?教你用电脑如何玩转微信

热门文章

  1. (全栈旅行足迹地图打卡网站 0-1)-旅行足迹点在地图上的显示以及预览大图-08(WebGIS Vue-js-go-mysql)
  2. uniapp获取当前时间
  3. Halcon union_collinear_contours_xld详解
  4. 怎样分析竞争对手网站分析竞争网站要分析这些方面
  5. 安装 MySQL 服务时提示 Install/Remove of the Service Denied
  6. 侵略伤痕(旧文新发)
  7. 最新支付宝查询社保缴纳总月数(2021-11-24)
  8. 便捷开发、聚力开发者,FileMaker不折不扣的赞!
  9. Vue项目打包移动端App(App打包教程),简便直接
  10. linux brctl 网桥设置