Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

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

$
0
0
基于django框架编写的简单信息采集系统

昨天来源:CSDN博客

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

1,先写一个静态HTML页面,是信息采集的表单。没什么好说的:效果如下图所示:
php?url=0EOLACuEiQ" alt="基于django框架编写的简单信息采集系统" />
2,配置数据库设置。在项目路径下执行python manage.py startapp ***新建一个引用。然后修改里面的 models.py文件,其实就是新建一个类,对应于数据库的表。类的每一个属性对应于表中的每一个字段。类定义如下图所示,其实就是要采集的信息。classXinXiCaiJi(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函数定义如下:主要功能是判断信息填写是否完整并将该条数据插入数据库中;

defcaijiwancheng(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网站。

Viewing all articles
Browse latest Browse all 9596

Trending Articles