Python课程设计.docx
1引言11.1 课题背毋11.2 所用技术12系统分析23系统设计21.1 结构分析23. 2数据库设计34系统实现43.1 步骤与截图44. 2代码实现65结束语11学生信息管理系统张培琳(信息与电气工程学院,信息工程专业,2011级2班,20112814680)摘要:本文是一个通讯录信息管理系统,主要功能有后台管理员可以添加,删除修改联系人的信息,前台供用户运用的界面,用户可以依据姓名查询联系人的信息。关键词,Eclipse:PythonDjango:数据库(mysql):html:1引言1. 1课题背景通讯录已经成为是我们每个人日常不行或缺的一样东西。一个功能齐全、简洁易用的通讯录信息管理系统能有效的减轻我们每个人记住联系人信息的负担,它的内容对于我们日常管理联系人来说都至关重要。所以通讯录信息管理系统应当能够为用户供应足够的信息和快捷的查询手段.近年来,随着我们网络信息的发展我们每个人的社交的规模不断扩大,联系人数量急剧增加,有关的各种信息量也能成倍增长。面对浩大的信息量:须要有通讯录信息管理系统来提高管理工作的效率。木系统主要用于联系人信息管理,总体任务是实现信息关系的系统化、规范化和自动化,其主要任务是用计算机对联系人各种信息进行日常管理,如查询、修改、增加、删除等,是通讯录信息的管理向着规范化、简洁化、有效化的发展。1.2所用技术Python是一种开源的、解析性的,面对对象的语言编程。它语法优雅,可读性强,让程序员注意功能实现,而非代码本身实现细微环节。现广泛运用于Web开发、运维自动化、测试自动化与数据挖掘等多个行业和领域.Python语言有很大的优势:比Java、C+简洁更易于运用;比PHP易懂易学并且用途更广:比Perl更简洁的语法、更简洁的设计,更具可读性、更易于维护,有助于削减Bug。但它的性能不如Java、C、C+这类编译性语言强大。因此本系统开发选用Python语言编写。2系统分析本次设计用ECIiPSe、Djang。开发工具,Python语言进行学生信息管理系统的开发,主要功能有后台进行建表,与数据库同步,在数据库中存储学生信息,并有增加、删除、修改功能:用户可以通过网址输入自己的登录姓名和学号,查泡其余信息。分为管理端和客户端:管理端:管理员在后台进行学生信息增加、删除、修改等功能,将学生信息保存进数据库。客户端:用户通过管理员给定的网址进入查询页面,输入姓名与学号查询自己的信息.°3系统设计3.1结构分析(D依据系统分析,Mi出系统功能模块结构图:图3.1系统功能模块结构图(2)画出系统模块功能流程图:图3.2系统功能模块流程图3. 2数据库设计本文系统采纳了mysql数据库,实现比较简洁。主要是对学生各种信息进行存储,用到了一张表格,假如还须要其他信息,可进行表格增加。表1联系人具体信息列名功能描述类型字段大主键否小name姓名varchar150否sex性别varchar15()否Tel电话号码varchar15()否address住址varchar150否birth生日varchar150否4系统实现4.1步骤与截图(1)通过编写model,py和admin,py建立后台管理员界面并显示:二;9127.0.0.1Weiccme4ZI1.inksfor牛BCMSN对睛匚MicrosoftR½CrWkidows5«二SiteadministrationDjangoadministrationGroupsAdd/O9eUsersAdd/O119eAddreboo*,AddZCh*图4.1建立用户模块(2)管理员增加用户信息:ri/二JOQ127.0.0.1Cj1.iC匕forGBMSN对M匕MkrotoftRUCJWindoE1.iveUGfefiEEDjangoadministrationHomeEbk>QAddressbooksAddaddressbookAddaddressbookSAYeand*ddaochr3vandconc>nuediting图4.2管理员增加用户信息(3)显示所增加的用户信息:7Q127.0.01D)ongoadministrationUr>fo*BIMNRUMigc*W停I<m>JR*04Selectaddressbooktochange一I匕回HaeteafA4vmEJt1MM4BWII1.*1.4;4fkm.匚ftmin«*J.”1W.4:480n.3mm«Om-九J¢)4,4-4>外aft«.11.1»M,4:46pm.三UM¼iWSOKI1.IXO”>40Eaxria»3&S?M7OCCv»9W.lSp>n.图4.3增加用户信息(4)用户查询界面图4.4用户查询页面(5)查询结果显示检索关字:张个税与人姓名加&琳性别女电话1M3SP0T在址MHI生日Dec6.1为工J15pMS聚三性财«电话123456任让老家区生日Ic11,lW0.446pm姓名,哥三卑位剔,男电逞,122乂5倍I1.稽常生日,Dk7.2OH.4Vpm姓名,至,Ia住现电小RXe隹生茶汨生&Jg11.1X1.4"Pm图4.5查询结果显示4. 2代内实现(1)在model,py中建立一个AddressBook类,设置通讯录信息管理系统中的各项内容,并规定字符最大长度,fromdjango.dbimportmodelsfromdjango.contribimportadmin«Createyourmodelshere.classAddressBook(models.Model):name=models.CharField(max_length=150)sex=models.CharField(max_length=150)tel=models.CharField(max_length=150)address=models.CharField(max_length=150)birth=models.DateTimeFieldOclassAddressBookAdmin(admin.ModelAdmin):list_display=Cname',sex',te,address',birth')admin,site,register(AddressBook,AddressBookAdinin)(2)杳询模块:可以查询通讯录中联系人的信息,对search_from.html中的表的中添加Iable组件并加了一个搜寻按钮,修改如下:<html><head><ti11e>search<ti11e><head><bodybgcolor-"#70DB93”>%iferrors%)<ul>%forerrorinerrors%<li>error<li>%endfor%)<ul>%endif%)<divalign="center"style=-width:600Jieight:200/Xtablewidth=*600*height=*200*><tr><tdcolspan=w3*><fontalign="center"COIor="yellow”SiZe="50”>通讯录检索<"onl><ld><lr><tr><tdXfontColor"white”)请输入姓名进行检索<fontXtd><tr><tr><td><for11action=*melhod="gel"><inputtype=*text*name="q"><inputtype=*sub<nit*VaIUe="搜寻”><form><td><tr><table><div><body><html>(3)对VieWS.py中的search函数进行j'修改,编写查询操作。代码如下:defsearch(request):errors=if,q'inrequest.GET:q=request.GET,q,ifnotq:errors,append(,Enterasearchname.')elifIen(q)>5:errors,append(,Pleaseenteratmost5characters.')else:contactors=AddressBook.objects,fi1Ier(name_iconlains=q)returnrender_to_responseCSeareh.results,html,contactors':contactors,'query''.q?)returnrendertoresponse(,search_form,html','errors,.errors)(4)对结果显示页面searchresults,html进行了修改,限制查询页面输出。<bodybgcolor=*#70DB93*><p><fontSiZe="5"><SIrong>检索关键字:<font><fontcolor=*red*SiZe="5”>query<font><strong><p>%ifcontactors%)<P>找到<fontColOr="red”>contactorsIlength<font>个联系人<p><tableWidth="800"heiht=*500*>%forcontactorincontactors%<tr><tdcolspan=*10w><td><lr><trheight="15”><tdalign="righl">姓名:<td><tdalign="left”>contactor,name<td><tr><trheight="15”><ldalign="righl">性别:<td><tdalign="left”>contactor,sex<td><ldalign="righl”>电话:<td><tdalign=wleft/>contactor,tel<td><ldalign="righl”>住址:<td><ldalign=wleft/>contactor,address<td><ldalign="righl”>生日:<td><tdalign=wleftr>contactor,birth<td><tr><trheight=*5%*><tr>%endfor%<table>%else%)<P>没有找到联系人.<p>%endif%5结束语这次做论文使我受益良多。一方而,通过这次试验