Python课程设计.docx
- 文档编号:28441105
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:10
- 大小:201.58KB
Python课程设计.docx
《Python课程设计.docx》由会员分享,可在线阅读,更多相关《Python课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
Python课程设计
智能系统开发课程设计
通讯录信息管理系统
姓名
张培琳
学院
信息与电气工程学院
专业
信息工程
年级
2011
学号
20112814680
指导教师
周树森
2014年12月5日
学生信息管理系统
张培琳
(信息与电气工程学院,信息工程专业,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系统分析
本次设计用Eclipse、Django开发工具,Python语言进行学生信息管理系统的开发,主要功能有后台进行建表,与数据库同步,在数据库中存储学生信息,并有增加、删除、修改功能;用户可以通过网址输入自己的登录姓名和学号,查询其余信息。
分为管理端和客户端:
管理端:
管理员在后台进行学生信息增加、删除、修改等功能,将学生信息保存进数据库。
客户端:
用户通过管理员给定的网址进入查询页面,输入姓名与学号查询自己的信息。
3系统设计
3.1结构分析
(1)根据系统分析,画出系统功能模块结构图:
通讯录
用户
管理员
查询联系人
修改联系人
删除联系人
增加联系人
查询联系人
图3.1系统功能模块结构图
(2)画出系统模块功能流程图:
通讯录
管理员
通讯录信息录入及增删
用户查找通讯录
显示联系人信息
图3.2系统功能模块流程图
3.2数据库设计
本文系统采用了mysql数据库,实现比较简单。
主要是对学生各种信息进行存储,用到了一张表格,如果还需要其他信息,可进行表格增加。
表1联系人详细信息
列名
功能描述
类型
字段大小
主键否
name
姓名
varchar
150
否
sex
性别
varchar
150
否
Tel
电话号码
varchar
150
否
address
住址
varchar
150
否
birth
生日
varchar
150
否
4系统实现
4.1步骤及截图
(1)通过编写model.py和admin.py建立后台管理员界面并显示:
图4.1建立用户模块
(2)管理员增加用户信息:
图4.2管理员增加用户信息
(3)显示所增加的用户信息:
图4.3增加用户信息
(4)用户查询界面
图4.4用户查询页面
(5)查询结果显示
图4.5查询结果显示
4.2代码实现
(1)在model.py中建立一个AddressBook类,设置通讯录信息管理系统中的各项内容,并规定字符最大长度。
fromdjango.dbimportmodels
fromdjango.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.DateTimeField()
classAddressBookAdmin(admin.ModelAdmin):
list_display=('name','sex','tel','address','birth')
admin.site.register(AddressBook,AddressBookAdmin)
(2)查询模块:
可以查询通讯录中联系人的信息,对search_from.html中的表单中添加了table组件并加了一个搜索按钮,修改如下:
{%iferrors%}
- {{error}}
{%forerrorinerrors%}
{%endfor%}
{%endif%}
600;height: 200;">