基于Django的图书内容分享管理系统的设计与实现
谈鑫
数学与信息学院 信息管理与信息系统专业2010级 指导老师:杨艳梅
摘要:在互联网日益发达的今天,无论是企业、事业单位、政府机构,还是学校、个人都将网络作为传播、管理信息的重要手段。面对图书馆数以百万的图书,本文认为,建立一个图书分享网站有利于同学更快、更轻松的到想要的书籍。
    近年来,基于开源的内容管理系统迅速兴起[1],它不仅帮助人们快速建立发布信息的网络平台,而且对网站的内容和资源进行有效的整合和管理。在这种背景下,本文提出了运用Django框架,以Python为主要开发语言开发快速发布图书内容分享的信息管理系统的方案。从技术、经济、社会三方面分析了可行性,技术方面,采用Django框架、MVC模式、Python语言、MySQL数据库;经济方面,采用开源的“LAMP”软件;社会方面,研发一套图书内容分享系统,可以使同学快速到需要的书籍。然后创建了应用项目,进行数据库的配置,用
models.py具体实现系统的物理数据模型,同时生成了相应的数据表。在Web设计时,先简述了Django请求响应流程,将HTTP请求通过与预定义的URLconf匹配,转向相应的控制层,调用特定 View函数处理。以基本模板为基础,利用Django特定的模板标记嵌入网页页面中,并添加页面逻辑完成页面设计。同时利用Django内置的管理界面进行数据编辑和数据管理。
    整个系统最终完成了:基于模板的网站页面和管理页面,及时快速发布图书信息,对图书信息的评级、评论等功能。
关键字:Django;内容管理;
Books share content management system based on Django
Tanxin
Information management and information system of Mathematics and information Department Grade 2010  Instructor: Yang Yanmei
Abstract: Today, Internet technology is used widely by enterprises, institutions, school, government or individuals as tool to release and manage information.
Face to millions of library books, the paper considers that the establishment of a book sharing sites in favor of students faster and easier to find the desired book.
    In past several years, the open content management system is booming. Not only it helps to rapidly build the platform of releasing the information, but also it manage and integrate the contents and resource of the website. On this background we propose to use Django framework to Python as the primary development language developed quickly publish book content sharing solutions for information management system. There are three feasibility analysis. Technically, using Django, MVC, Python, MySQL. Economically, using free, open source LAMP software. Society, Developed a books content sharing management system that allows students to quickly find the required books. Then create the application project, configure the database, with models.py concrete realization of the physical data model of the system, while generating the corres
ponding data sheet. In Web design, first outlined Django request response process, the HTTP requests through predefined URLconf match, turn the corresponding control layer, call a specific function to deal View. Basic templates as the basis, Specific use Django template tags embedded in Web pages, and add the page to complete the page design logic.  At the same time, we take advantage of the built-in Django admin interface for data editing and data management.
    The final completion of the entire system: the web-based administration pages and page templates, quick and timely release of information, information on books ratings, reviews and other features.
Key words: Django; content management
一、引言
随着计算机技术的发展,尤其是互联网技术和相关企业的兴起,开源软件在操作系统、编译工具链、数据库、WEB服务器、移动操作系统等各个方面已经成 为主流。而且许多企业
django admin 自定义页面利用开源软件形成了独特的商业模式。比如谷歌的 Android 操作系统,从 2007 年开源发布第一个版本起,到今天已经发展到 4.4版本,占据了智能手机操作系统一半以上的市场份额,谷歌也通过 Android 操作系统在移动互联网这一新兴行业中占据了领先和主导地位。再比如在服务器端广泛使用的关系型数据库 MySQL,在以开源软件和商业许可并行的模式下,得到了快速发展,并在 2008 年作价 10 亿美金由 Sun 收购(后者又在 2009 年被 Oracle 公司以 74 亿美金的高价收购)。相反,以前一直和开源软件做斗争的微软公司,却因为无法快速推出适应市场的 Windows Phone 操作系统,在移动互联网竞争中处于下风。为顺应潮流,微软也开始拥抱开源,比如向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框架技术做简要的介绍,并以此作为后面章节的理论基础。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。