基于django的图书分享系统的设计与实现.doc
- 文档编号:248493
- 上传时间:2022-10-07
- 格式:DOC
- 页数:15
- 大小:305KB
基于django的图书分享系统的设计与实现.doc
《基于django的图书分享系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于django的图书分享系统的设计与实现.doc(15页珍藏版)》请在冰豆网上搜索。
目录
一、引言 3
二、Django技术基础 3
(一)Python语言 4
(二)Python的Web开发框架 4
(三)Django框架技术 5
1.MVT架构 5
2.Form表单类 6
3.基于类的通用视图 6
4.自动管理接口 7
三、系统的设计与实现 7
(一)系统总体设计 7
1.内容管理相关数据模型设计 7
2.数据库实现 9
3.Web设计 9
结论 13
参考文献:
14
致谢 14
14
基于Django的图书内容分享管理系统的设计与实现
谈鑫
数学与信息学院信息管理与信息系统专业2010级指导老师:
杨艳梅
摘要:
在互联网日益发达的今天,无论是企业、事业单位、政府机构,还是学校、个人都将网络作为传播、管理信息的重要手段。
面对图书馆数以百万的图书,本文认为,建立一个图书分享网站有利于同学更快、更轻松的找到想要的书籍。
近年来,基于开源的内容管理系统迅速兴起[1],它不仅帮助人们快速建立发布信息的网络平台,而且对网站的内容和资源进行有效的整合和管理。
在这种背景下,本文提出了运用Django框架,以Python为主要开发语言开发快速发布图书内容分享的信息管理系统的方案。
从技术、经济、社会三方面分析了可行性,技术方面,采用Django框架、MVC模式、Python语言、MySQL数据库;经济方面,采用开源的“LAMP”软件;社会方面,研发一套图书内容分享系统,可以使同学快速找到需要的书籍。
然后创建了应用项目,进行数据库的配置,用models.py具体实现系统的物理数据模型,同时生成了相应的数据表。
在Web设计时,先简述了Django请求响应流程,将HTTP请求通过与预定义的URLconf匹配,转向相应的控制层,调用特定View函数处理。
以基本模板为基础,利用Django特定的模板标记嵌入网页页面中,并添加页面逻辑完成页面设计。
同时利用Django内置的管理界面进行数据编辑和数据管理。
整个系统最终完成了:
基于模板的网站页面和管理页面,及时快速发布图书信息,对图书信息的评级、评论等功能。
关键字:
Django;内容管理;
BookssharecontentmanagementsystembasedonDjango
Tanxin
InformationmanagementandinformationsystemofMathematicsandinformationDepartmentGrade2010Instructor:
YangYanmei
Abstract:
Today,Internettechnologyisusedwidelybyenterprises,institutions,school,governmentorindividualsastooltoreleaseandmanageinformation.
Facetomillionsoflibrarybooks,thepaperconsidersthattheestablishmentofabooksharingsitesinfavorofstudentsfasterandeasiertofindthedesiredbook.
Inpastseveralyears,theopencontentmanagementsystemisbooming.Notonlyithelpstorapidlybuildtheplatformofreleasingtheinformation,butalsoitmanageandintegratethecontentsandresourceofthewebsite.Onthisbackground,weproposetouseDjangoframeworktoPythonastheprimarydevelopmentlanguagedevelopedquicklypublishbookcontentsharingsolutionsforinformationmanagementsystem.Therearethreefeasibilityanalysis.Technically,usingDjango,MVC,Python,MySQL.Economically,usingfree,opensourceLAMPsoftware.Society,Developedabookscontentsharingmanagementsystemthatallowsstudentstoquicklyfindtherequiredbooks.Thencreatetheapplicationproject,configurethedatabase,withmodels.pyconcreterealizationofthephysicaldatamodelofthesystem,whilegeneratingthecorrespondingdatasheet.InWebdesign,firstoutlinedDjangorequestresponseprocess,theHTTPrequeststhroughpredefinedURLconfmatch,turnthecorrespondingcontrollayer,callaspecificfunctiontodealView.Basictemplatesasthebasis,SpecificuseDjangotemplatetagsembeddedinWebpages,andaddthepagetocompletethepagedesignlogic.Atthesametime,wetakeadvantageofthebuilt-inDjangoadmininterfacefordataeditinganddatamanagement.
Thefinalcompletionoftheentiresystem:
theweb-basedadministrationpagesandpagetemplates,quickandtimelyreleaseofinformation,informationonbooksratings,reviewsandotherfeatures.
Keywords:
Django;contentmanagement
一、引言
随着计算机技术的发展,尤其是互联网技术和相关企业的兴起,开源软件在操作系统、编译工具链、数据库、WEB服务器、移动操作系统等各个方面已经成为主流。
而且许多企业利用开源软件形成了独特的商业模式。
比如谷歌的Android操作系统,从2007年开源发布第一个版本起,到今天已经发展到4.4版本,占据了智能手机操作系统一半以上的市场份额,谷歌也通过Android操作系统在移动互联网这一新兴行业中占据了领先和主导地位。
再比如在服务器端广泛使用的关系型数据库MySQL,在以开源软件和商业许可并行的模式下,得到了快速发展,并在2008年作价10亿美金由Sun收购(后者又在2009年被Oracle公司以74亿美金的高价收购)。
相反,以前一直和开源软件做斗争的微软公司,却因为无法快速推出适应市场的WindowsPhone操作系统,在移动互联网竞争中处于下风。
为顺应潮流,微软也开始拥抱开源,比如向Samba项目贡献代码,放弃自己研发多年的大数据项目而选择Hadoop为其大数据的核心等。
显然,纵观IT行业这二十多年的发展,开源软件从黑客的理想之国,已经形成了一股推进计算机及相关行业不停进步的巨大力量。
很多人可能尚未意识到,我们使用的电脑中运行有开源软件,手机中运行有开源软件,家里的电视也运行有开源软件,甚至小小的数码产品(如电子相框)中也运行有开源软件,尤其是互联网服务器端软件,几乎全部是开源软件。
毫不夸张地说,开源软件已经渗透到了我们日常生活的方方面面。
正是在这样的背景下,本文选择了使用开源的Python语言作为主要开发语言,使用Django框架来完成系统的设计。
从技术可行性来说,本系统对于用户仅需要一台装有浏览器的计算机,即可完成大多数操作,对用户个人电脑本身没有特殊要求,一般个人电脑几个满足要求。
开发软件主要采用目前计算机网页设计流行的“LAMP”,即为Linux、Apache、MySQL、Python,这些用来搭建动态网站的开源软件,拥有强大的网站解决方案。
采用Django框架对于图书信息的发布是非常快捷便利的。
用户利用这些开源软件丰富的解决方案可以快速开发系统。
从经济可行性来说,本系统使用开源免费的“LAMP”软件,这些软件与开源软件许可证结合在一起,软件费用的开支几乎为零费用,费用开支主要用于解决Web服务器、数据库服务器和人工研发费用,这些费用是网站开发维护中不可避免的费用。
从需求可行性来说,由于同类书籍的种类越来越多,如何选择一本好书显得至关重要,本文的研究便是希望设计出一套可以让专家学者分享出相关专业的好书籍的内容管理系统。
二、Django技术基础
图书内容分享管理系统属于轻量级的管理信息系统,为了减少花费,所以采用快速而免费的Web开发技术。
传统的重量级开发技术ASP.NET和J2EE显然不适合轻量级的快速开发。
故采用基于Python开源的Django框架[2]。
使用Django框架可以使开发者将精力集中在主要的业务流程或核心子系统的实现上,一些基本辅助功能完全可以由Django自动实现,开发者不必浪费过多的精力在辅助功能的实现上,极大程度提高了开发者的效率,减少项目的开发周期。
同时由于Django是免费开源框架,部署时使用的Apache和MySQL也都是免费产品,可以使项目以较低的投资获得较高的回报。
通过使用Django将大量需要管理人员手工做的工作转变为系统自动执行,提高了管理效率,同时通过使用Django的多种有针对的技术手段,可以对工作人员的工作进行有效的约束,使工作人员可以无安全遵守工作流程。
在本文展开讨论具体的应用之前,首先对后文将要用到的Python语言和Django框架技术做简要的介绍,并以此作为后面章节的理论基础。
(一)Python语言
Python是一种解释型的,面向对象的,带有动态语义的高级程序设计语言。
自从GuidovanRossum在20世纪90年代初创造这门语言以来,他的支持者就一直在稳步增加,而且近些年来,社区对他的兴趣也日益浓厚[1].Python是一种通用编程语言,所以Python的特点是可以用于几乎所有的软件开发领域。
在任何地方Python都能成为一个最佳解决方案的一部分[2]。
在得过汉诺威举办的CeBIT2009大会上,Python获得了LinuxNewMedia颁发的最佳开源编程语言奖,以肯定Python一直以来在提升语言功能性和易用性方面做出的贡献[3]。
Python的语法非常简洁,它不使用C/C++/Java等语言惯用的大括号作为划分程序块的标记,也不使用分号作为一个语句的结尾,而是使用空白缩进作为程序段的划分标准,相同级别的代码段必须拥有相同的空白缩进。
如此一来,就强制程序员编写代码时保持良好的代码缩进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 django 图书 分享 系统 设计 实现