毕业设计-基于Django与Hadoop的校内信息分类网站的设计与实现—relations模块的设计与实现,共38页,9846字,附完整python程序、开题报告等
主要研究内容
本项目设计网站要完成的功能:用户实名注册之后,能够根据自己的兴趣在网站上随意创建或加入小组和社团。每一个小组实际上都是一个基于兴趣的圈子,用户能够在小组中发布或回复帖子,小组的建立者可以提升任何组员为管理员,管理员有删帖、锁帖、置顶等权限。
每个社团都有一个社内论坛,非本社团成员不可见,但是社团发布的活动是所有人可见的,而且只要用户关注了社团,社团发布的活动就会自动推送给用户。社团内部论坛和小组的功能相似,但是社团内部还可以由管理员做结构调整,例如创建部门,删除部门或者将某个人移动到某个部门,这样,社长就可以明确的管理社团的结构,而且对社团的人事管理一目了然。社团还可以创建活动,所有用户都可以选择参加或关注,这样对社团的宣传会有个及时的反馈,方便活动的举办。普通用户申请加入社团时,系统会自动向社团的管理员发送站内信,经过一定的了解之后,社团管理员可以选择接纳该成员或者是拒绝。这样,社团就可以一直招新,不用像现在这样要等到开学时固定的时候招新。
每个用户都有一个个人主页,在上面可以找到他加入的社团及小组,还有其基本资料,这可以增进社员或者组员彼此之间的了解。其他用户也可以关注他,像微博一样收听他的动态。所有的动态信息会在用户的广播页面显示出来。
要实现这些功能,还需要学习python语言、CSS语言、javascript语言,还有Django框架以及mongodb数据库。此外,还需要了解Hadoop的基本架构等知识以便完善这些功能。
摘要
丰富的社团活动是大学校园里必不可少的。将社团用网络联系起来,不仅扩大了活动范围,参与者之间的交流也更为方便。基于Django与Hadoop的校内信息分类网站则提供了这个可能性。
本网站是基于Django框架与Hadoop的校内信息分类网站。可以为普通用户提供类似小组样式的论坛,支持论坛管理、站内信等功能。为社团用户提供社内论坛,社团管理等功能。也是一个校园内的社团展示平台,可以让大学新生们了解本校的社团文化。为每个同学提供更多通过兴趣和活动结识朋友的机会。
本文主要介绍了Hadoop的基本架构等知识, Django框架与python语言和MangoDB等相关知识,以及relations模块的设计与实现,并展示了测试的结果。
关键词:Django;Hadoop;校内信息;信息分类;网络社交
目录
第一章 引言 - 1 -
1.1课题研究的背景和意义 - 1 -
1.2主要研究内容 - 1 -
第二章 应用技术 - 3 -
2.1 Hadoop - 3 -
2.1.1Hadoop概述 - 3 -
2.1.2 MapReduce概述 - 3 -
2.1.3 MapReduce工作原理 - 4 -
2.1.4 HDFS - 5 -
2.2 Django概述 - 6 -
2.3 Python - 7 -
2.3.1 Python概述 - 7 -
2.3.2 Python执行 - 8 -
2.3.3 Python优点 - 8 -
2.4 MongoDB概述 - 9 -
第三章 基于Django框架与Python语言的网页实现 - 10 -
第四章 网站的设计与实现 - 16 -
4.1 概要设计 - 16 -
4.1.1 总体功能设计 - 16 -
4.1.2 模块划分与分工 - 16 -
4.1.3 模块依赖关系 - 17 -
4.2 详细设计 - 17 -
4.2.1 Relations模块 - 17 -
4.2.2 模块功能图 - 19 -
第五章 模块功能测试 - 22 -
Relations模块功能测试 - 22 -
第六章 总结与展望 - 28 -
参考文献 - 29-
致谢 - 30-
主要内容
我们的任务是学习如何设计并建设一个交互式网站,并实践出来。其中会
涉及到各种当下流行的技术,从web前端,到基于hadoop的分布式数据处理,
我们会在实践的过程中学习新的技术。除此之外,在建设网站的过程中,我们
也会用到一些软件工程方面的知识,例如我们会先做出一个简单的原型,再逐
渐地在上面添加功能模块。
首先,要想建立一个网站,尤其是像我们设想的这样复杂的社交类网站,
要是用java或者php等语言直接从底层开始写的话,可以说任务量极大,而且网
站的整体架构也不好把握,因此我们选择了Django――一款基于python语言的
web编程框架。提到web框架,就不得不说MVC设计模式,它是一种编程理念,
使应用程序的输入、处理和输出分开。使用MVC的应用程序分成三个核心部件
:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。而
Django正是基于MVC设计模式,只不过在Django中视图(V)由模板(T)代替
,而控制器(C)由视图函数(V)代替,简称MTV。而这里的视图函数又与
MVC中的视图不同。这里的视图函数与控制器很像,负责接收用户的
httprequest,然后根据request中的信息,返回相应的模板视图。Django中的模板
系统也非常强大,不仅支持各种控制语句,如if、while、for等,还支持模板之
间的继承和重用,使制作网页的工作量大大减少。使用Django还有一个最大的
好处就是它内置了很多数据库的底层操作,使我们不用编写SQL语句就能与数
据库进行交互,大大减少了后台开发的工作量。
由于Django是一个用python语言开发的库,所以按照Django框架开发的web
应用将具有良好的可移植性,可以像java一样跨平台部署。只要一台电脑上装有
python的环境,就可以将Django部署在上面。
说完网站的整体框架,下面就要说说网站是安装在什么上的了。所谓安装
在什么上的这个什么,就是数据库。我们决定使用的数据库叫做MongoDB
......