版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录 HYPERLINK l _TOC_250009 一、引言3 HYPERLINK l _TOC_250008 二、Django 技术基础3 HYPERLINK l _TOC_250007 (一)Python 语言4 HYPERLINK l _TOC_250006 (二)Python 的Web 开发框架4 HYPERLINK l _TOC_250005 (三)Django 框架技术5MVT 架构5Form 表单类6基于类的通用视图6自动管理接口7 HYPERLINK l _TOC_250004 三、系统的设计与实现7 HYPERLINK l _TOC_250003 (一)系统总体设计7内容管
2、理相关数据模型设计7数据库实现9Web设计9 HYPERLINK l _TOC_250002 结论 HYPERLINK l _TOC_250001 参考文献:14 HYPERLINK l _TOC_250000 致 谢0 PAGE PAGE 9基于 Django 的图书内容分享管理系统的设计与实现谈鑫数学与信息学院 信息管理与信息系统专业 2010 级 指导老师:杨艳梅近年来,基于开源的内容管理系统迅速兴起 它不仅帮助人们快速建立发DjangoPythonDjangoMVCPythonMySQLWebDjangoHTTPURLconf ViewDjango整个系统最终完成了:基于模板的网站页面
3、和管理页面,及时快速发布图书信息,对图书信息的评级、评论等功能。关键字:Django;内容管理;Books share content management system based on DjangoTanxinInformation management and information system of Mathematics information Department Grade 2010Instructor: Yang YanmeiAbstract: Today, Internet technology is used widely by enterprises, institut
4、ions, 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 s
5、ystem is booming. Not only it helps to rapidly build the platform of releasing the information, but also it manageand integrate the contents and resource of the website. On this background, wepropose to use Django framework to Python as the primary development language developed quickly publish book
6、 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
7、 required books. Then create the application project, configure the database, with models.py concrete realization of the physical data model of the while generating the corresponding data sheet. In Web design, first outlined Django request response process, the HTTP requests through predefined URLco
8、nf 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 f
9、or 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一、引言WEB20074.4 版本,占据了智能手机操作系统一半
10、以上的市场份额,谷歌也通过 Android 操2008 年作价 10 亿美金由 Sun(后者又在 2009 年被Oracle74 亿美金的高价收购SambaHadoopIT 行业这二十多年的发展,开源软件从黑客的理想之国,已经形成了一股推进计算机及相关行业不停进步的巨大力量。很多人可能尚未意识 到,我们使用的电脑中运行 有开源软件,手机中运行有开源软件,家里的电视也运行有开源软件,甚至小小的数码产品(如电子相框)PythonDjango从技术可行性来说,本系统对于用户仅需要一台装有浏览器的计算机,即可LAMPLinuxApache MySQLDjango软件,这些软件与开源免的费用。二、Dja
11、ngo 技术基础WebASP.NETJ2EEPythonDjangoDjangoDjangoApacheMySQLDjangoDjango无安全遵守工作流程。PythonDjango(一)Python 语言PythonGuido van Rossum2090PythonPython2LinuxNewMediaPython3。PythonC/C+/JavaPythonWebPythonWeb PHP,JavaASP.NETPython1/3PythonPythonCPython,也就是用CPythonPythonPython Jython,IronPython4JythonPythonJava
12、IronPythonPython.NETPython2.x3.x2.x2.7.1,3.x3.33.x2.x3.x2.x2.x2.x3.xPython20Python2.x2.xPython(二)PythonWebWebASP.NETJSP PHPWebRubyWebRuby On RailsWebWeb5Web WebRuby On RailsRubyPythonRuby应用(Application)WebZopePloneWeb.pyweb2pyPythonWeb1.6。DjangoPythonWebRuby On RailsPython应用(Application)(三)Django 框架
13、技术DjangoPythonWebPythonGuido van RossumDjangoDjangoPythonWeb2005DjangoRubyOnRailsRubyOnRails 框架的不足,从而拥有了自己的特色。DjangoCPyUGDjangoWeb7DjangoDjangoRuby On RailsDjangoMVTDjangoMVC8DjangoMVTMModel,VView,TTemplate2-1DjangoMVCCDjangoviews.py染模板文件,下面对模型,视图和模板做简单的介绍。HTTP 请求处理响应HTTP 请求处理响应(HTTP Handling)URL 映射
14、(URL Mapping)模型视图模板(Model)(View)(Template)对象关系映射(对象关系映射(ORM)模板引擎(Template Engine)数据库(数据库(Database)文件系统(File System)图 2-1 Django 架构总览图DjangoDjangostartapp,Djangomodels.py。开发者可以在这个文件中利用PythonDjangosyncdb SQLSqlite3syncdbDjangoSQLAPIDjangoSQLDjango个新的应用被DjangoDjangoviews.pyurl.pyPythonPython 丰富的类库,在逻辑代
15、码中几乎可以做任何事情。模板用于实现用户界面。DjangoHTML了所有常用的操作。Djangosettings.pyFormWebFormHTMLHTMLDjango,DjangoDjangoDjango基于类的通用视图WebWeb已确定的模式10。DjangoDjango1.3Django1.3ListView,UpdateView法的重载来满足需求。自动管理接口Django11。一个后台管理系统通常ASP.NET、J2EERubyOnRailsDjango数据浏览,查询,添加,删除,编辑等功能。基本上,日常管理中常见的管理操action通过自动管理接口的应用,很多系统功能在设计上可以获得
16、极大的简化,研ModelAdmin三、系统的设计与实现程,是实现软件从无到有的过程。(一)系统总体设计Web12。内容管理相关数据模型设计根据最初对系统设计的需求,下面将讨论图书内容管理以及评论管理数据模型。1 class BookPost(Displayable, Ownable, RichText, AdminThumbMixin):title = models.CharField(_(标题), max_length=500) categories = models.ManyToManyField(BookCategory,verbose_name=_(分类),blank=True, re
17、lated_name=bookposts) allow_comments = models.BooleanField(verbose_name=_(允许评论),default=True)comments = CommentsField(verbose_name=_(评论) rating = RatingField(verbose_name=_(评级)class TimeStamped(models.Model): class Meta:abstract = Truecreated = models.DateTimeField(null=True, editable=False) class T
18、hreadedComment(Comment):by_author = models.BooleanField(_(By the book author), default=False)replied_to = models.ForeignKey(self, null=True, editable=False,related_name=comments)rating = RatingField(verbose_name=_( 评级) objects = CommentManager()class Meta:verbose_name = _( 评 论 ) verbose_name_plural
19、= _(评论)class Rating(models.Model):value = models.IntegerField(_(Value)DjangoPython500CharFieldDjango MySQLVARCHAR CommentsCommentFieldlongtextlongtextDateTimePythonPythonreplied_t字段用于保存用户对图书的评论,这里使用了null = True, blank = 候可以不输入任何信息。与同类产品所用技术相比,DjangoB/SASP.NET JavaASP.NETMySQLSQLSQLDjangosetting.pySQ
20、LiteMySQLPostgreSQLSQLiteSQLitePythonSQLiteMySQLDjangoSQLDjangoDjangoPythonPythonDjangoPython数据库实现DjangoModel,与此同时,MySQLdbPythonDB API2.0pythonMySQLDjangoORM, Djangosetting.pyDATABASES = default: ENGINE: django.db.backends.mysql, NAME: bookmis,USER: root, PASSWORD: python, HOST: localhost,PORT: 3306
21、,WebWebHTMLDjangoDjango图 3-1 Django 请求响应流程图3-1HTTPModPythonHandlerHttpRequsetResquest MiddlewareRequestView MiddlewareHttpRequestHttpResponse,系统就跳过处理View。同时也要考虑到异常错误,异常处理中间件Middleware)便Exception MiddlewareHttpResponse,才处ExceptionDjango404/500 Response。最后,Response Middleware 发送HttpResponseURLDjangoUR
22、LDjangoURLURLURLPythonURLUnicode10字符串,且不包括“GET”方法参数或“POST”方法参数或者域名,它也不包括URLURL“GET”URLView基本模板DjangoHTMLvariables和tags特定的模板标记嵌入创建的模板页面,继而添加页面逻辑处理。variables和tags这类变量会使用值替换进行计算,以此实现基本的控制逻辑。模板可以使用 HTML、XML、CSB 和纯文本来生成。DjangoDjangoViewsetting.pyTEMPLATE_DIRSbase.html,定义站点的主要外观,格式形如:%block title%endblock
23、%block header%include header.html%endblock%block middle%endblock%block myContent%endblock%block end%include end.html%endblock%block test%endblock%child.htmlbase.html子模块所需的代码进行定义。%extends base.html%11%block title%block.super%endblock%block middle%block.super继承模板的内容%endblock%block myContent%block.supe
24、r%endblock%3-2图 3-2 图书内容管理网站页面DjangoDjango时,也可以查验管理者录入的数据。图 3-3 便是 Django 管理的登录界面。12图 3-3 Django 管理的登录界面首先在INSTALLED_APPS设置中加入“django.contrib.admin”“django.contrib.sessions”、“django.contrib.auth”、django.contrib.contenttypes也需要在bookmis文件夹内的urls.py中添加诸如一下语句:urlpatterns = patterns(book.views,(r$, metho
25、d_splitter,GET: somepage_get, POST: somepage_post),)urls.pyView“GET”和“POST”“GET”两个方法都是浏览器发送数据到服务器端,两者的区别主要在于“GET”方法更“POST”方法是需要进行数据交互,此时用户要对数据变更的结果负责。DjangoModels在一定程度上,可以避免用户的误删除。图 3-4 Django 确认删除对象结论DjangoDjangoDjango 框架设计出的论图书等功能。通过建设整个系统,完成了基于模板的网站页面和管理页面,能够快速的发布图书信息,管理图书信息及用户信息,基本达到预期的目的。但是,系统本身仍然存在不足,未来软件更新维护主要可以在数据模型的可扩展性和视图的简单13性进行扩展,使用户可以更简单、轻易的使用系统。Django 其自身的优势十分明显,简单易维护,易适应需求的变化,可以快速发布图书信息,同时系统也具有高效的安全通信机制。DjangoWebDjangoDjang
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 燃烧仿真.燃烧器设计与优化:燃烧不稳定性控制:燃烧器材料与热力学性能
- 2024-2030年麻醉药项目可行性研究报告
- 2024-2030年鲜切花保鲜剂产业市场深度调研及发展趋势与投资前景研究报告
- 2024-2030年高速注塑机行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年高级轿车行业并购重组机会及投融资战略研究咨询报告
- 2024-2030年高压清洗机行业风险投资发展分析及投资融资策略研究报告
- 2024-2030年食盐行业市场风险投资及运作模式与投融资研究报告
- 2024-2030年食品安全检测行业市场深度调研及前景趋势与投资研究报告
- 2024-2030年风机行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 养殖场转让协议合同2024年
- 第2课《济南的冬天》课件(26张PPT) 部编版语文七年级上册
- JGJT 223-2010 预拌砂浆应用技术规程
- 黑布林-Peter-Pan-中英双语阅读
- 精密空调施工方案
- 特种设备安装告知书
- 苏少版(简谱版)三年级音乐上册全册课件汇总
- 医学心理学-完整版课件
- 中学生安全教育(开学第一课)课件
- 歌曲《我和我的祖国》课件
- 医院口腔门诊建筑设计和院感要求
- xxxx海洋工程船舶有限公司物资编码编制标准(讨论稿)
评论
0/150
提交评论