管理信息系统课程设计朱茵茵

系统的首要目标就是可用性,本系统是一个关于书评的网站,能够展示每位读者的书评以及发表书评,为各位用户提供各种书籍的书评以及读书心得,正所谓一千个人的眼里有一千个哈姆雷特,也是对读书的精华浓缩,集思广益,提高阅读的质量和氛围;

(2)系统设计的简易性

系统面向的用户主要为普通用户,因此在操作性方面应该尽可能的简单,降低复杂性以防止用户不会操作的问题,同时操作简易也会让用户觉得系统容易使用,提高普及度。所以系统应该拥有简洁的界面、方便的菜单列表以及协调的颜色搭配;

1.2概要说明

书评网站的总体目标是为用户提供一个开放注册的在线阅读读者的读书心得,主要有以下功能:

二、网站结构设计

三、模块详细设计

1.首页

首页属于前端模块,在apps/front目录下的views.py文件也就是视图那里定义了了首页的方法,在首页我们要展示用户发布过的帖子,所以就要获取到帖子的信息,将数据传到html页面,再在首页的html进行显示,下面是代码。

@bp.route('/')defindex():board_id=request.args.get('bd',type=int,default=None)page=request.args.get(get_page_parameter(),type=int,default=1)boards=BoardModel.query.all()start=(page-1)*config.PER_PAGEend=start+config.PER_PAGEtotal=0query_obj=PostModel.query.order_by(PostModel.create_time.desc())ifboard_id:query_obj=query_obj.filter_by(board_id=board_id)posts=query_obj.slice(start,end)total=query_obj.count()else:posts=query_obj.slice(start,end)total=query_obj.count()pagination=Pagination(bs_version=3,page=page,total=total,outer_window=0,inner_window=2)context={'boards':boards,'posts':posts,'pagination':pagination,'current_board':board_id}returnrender_template('front/front_index.html',**context)

2.帖子发布模块

deflogin_required(func):@wraps(func)definner(*args,**kwargs):ifconfig.FRONT_USER_IDinsession:returnfunc(*args,**kwargs)else:returnredirect(url_for('front.signin'))returninner帖子发布的设计用到AJAX异步请求的方法,Ajax是一种用于创建快速动态网页的技术。

Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

在发布帖子的时候先去到表单文件进行板块的判断,如果没有这个板块就会阻止表单的提交,如果判断正确就会将发布的内容提交添加进数据库,并返回发布成功的页面提示。

#发布帖子@bp.route('/apost/',methods=['GET','POST'])@login_requireddefapost():ifrequest.method=='GET':boards=BoardModel.query.all()returnrender_template('front/front_apost.html',boards=boards)else:form=AddPostForm(request.form)ifform.validate():title=form.title.datacontent=form.content.databoard_id=form.board_id.databoard=BoardModel.query.get(board_id)ifnotboard:returnrestful.params_error(message='没有这个板块!')post=PostModel(title=title,content=content)post.board=boardpost.author=g.front_userdb.session.add(post)db.session.commit()returnrestful.success()else:returnrestful.params_error(message=form.get_error())3。搜索

搜索功能通过在页面上获取输入框所输入的值然后使用上下文context将值放到里面去,在页面进行循环,如果有这个关键字就进行显示,否则不展示。

个人中心页面获取用户ID然后根据这个ID再获取到这个用户的其他信息,将其放到context然后再将它显示在前端页面

#个人中心@bp.route('/usercenter//')@login_requireddefusercenter(user_id,tag):user=FrontUser.query.filter(FrontUser.id==user_id).first()posts=PostModel.query.filter(PostModel.author_id==user_id).all()collection=CollectionModel.query.filter(CollectionModel.user_id==user_id).all()context={'user':user,'posts':posts,'collection':collection}iftag=='1':returnrender_template('front/front_usercenter.html',**context)iftag=='2':returnrender_template('front/front_user_apost.html',**context)else:returnrender_template('front/front_user_collection.html',**context)

6.点赞与收藏

#点赞功能@bp.route('/dianzan/',methods=['GET','POST'])@login_requireddefdianzan():user_id=g.front_user.idpost_id=request.form.get('post_id')dianzan=DianzanModel(user_id=user_id,post_id=post_id)db.session.add(dianzan)db.session.commit()returnredirect(url_for('front.post_detail',post_id=post_id))#收藏功能@bp.route('/collection/',methods=['GET','POST'])@login_requireddefcollection():user_id=g.front_user.idpost_id=request.form.get('post_id')collection=CollectionModel(user_id=user_id,post_id=post_id)db.session.add(collection)db.session.commit()returnredirect(url_for('front.post_detail',post_id=post_id))

点赞与收藏都是通过获取到点赞者的ID然后通过标的联系将数据插入到点赞表跟收藏表之中,显示的时候就通过显示这个用户ID的记录的总和来展示有多少个人点赞或者收藏。

四、数据库设计

在表的联系方面合理定义主键外键,使得我么么可以使用一个表的主键跟外键的联系获得另一个表的信息,就实现了可以根据用户ID来查看他所发表的帖子这一类的功能。

五、成品展示

首页界面:

帖子发布界面:

帖子详细页面:

搜索功能:

个人中心:

修改信息页面:

密码修改页面:

头像修改:

分页功能:

六、心得体会

通过这次的课程设计,我对flask框架的pythonweb设计有了更深一层的了解。在这次的课程设计中使用了AJAX,Ajax相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对XMLHttpRequest有所了解。

XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。

Ajax的使用大大提高了数据的传输速度,使得数据不堵塞,使得整个系统使用起来更加的流畅。

一个好的网站是要通过很多次的维护与完善才能做出来的,还有很多的算法以及一些类库的使用我不是很熟练,对于熟练掌握这门技术还是有比较大的距离,我会继续提高自己的学习能力,把这项技术继续学习到精通,为将来发展打下好的基础。

THE END
1.制作网页设计的心得体会(精选14篇)制作网页设计的心得体会(精选14篇) 当我们备受启迪时,好好地写一份心得体会,通过写心得体会,可以帮助我们总结积累经验。那么心得体会怎么写才能感染读者呢?以下是小编为大家整理的制作网页设计的心得体会,欢迎阅读与收藏。 制作网页设计的心得体会 篇1 作为本学期的第十三周,我们电子商务0901班由此开始了为期两周的网https://www.ruiwen.com/xindetihui/5436851.html
2.制作网页设计的心得体会(通用17篇)制作网页设计的心得体会(通用17篇) 我们得到了一些心得体会以后,往往会写一篇心得体会,如此就可以提升我们写作能力了。那么问题来了,应该如何写心得体会呢?下面是小编收集整理的制作网页设计的心得体会,欢迎阅读,希望大家能够喜欢。 制作网页设计的心得体会 篇1 https://www.jy135.com/xindetihui/913959.html
3.网页设计心得15篇网页设计心得15篇 我们心里有一些收获后,就十分有必须要写一篇心得体会,这样有利于我们不断提升自我。一起来学习心得体会是如何写的吧,以下是小编整理的网页设计心得,欢迎大家借鉴与参考,希望对大家有所帮助。 网页设计心得1 科学是发展生产力的根本前提,当今的社会是互联网蓬勃发展的世界,每当我们上网的时候,那一个https://www.cnfla.com/xindetihui/2661536.html
4.网页设计心得500字(通用11篇)网页设计心得500字(通用11篇) 我们心里有一些收获后,不如来好好地做个总结,写一篇心得体会,这样有利于我们不断提升自我。那么心得体会该怎么写?想必这让大家都很苦恼吧,下面是小编收集整理的网页设计心得500字,仅供参考,大家一起来看看吧。 网页设计心得 1 https://www.yjbys.com/xuexi/xinde/3526346.html
5.网页设计心得体会一个好的网页设计能够更好地吸引用户的注意力,增强用户的使用体验,从而让网站有着更好的用户留存率。https://js.design/special/article/web-design-insights.html
6.网页设计心得体会.doc资源网页设计 心得体会 需积分: 49 68 浏览量 2011-02-16 上传 评论 收藏 25KB DOC 举报 立即下载 开通VIP(低至0.43/天) 买1年送1年 本学期的网业设计课程,开展了动态思维训练教学活动,对于我们学生来说,可以激发学习兴趣,调动学习的自觉性,自己动脑、动手,动口,运用网络资源,结合教材及老师的指导,通过自身的https://download.csdn.net/download/czs2011/3025442
7.学习dreamweaver8进行网页设计的心得体会学习dreamweaver 8 进行网页设计的心得体会Dream 查看全部6条评论回答 写回答 ivanae dreamweaver 对我来说也就是起个辅助作用 编辑代码比较方便我感觉作网站不需要对DW学很深像样的网站单靠DW来作有点难需要的还是web编程语言。因为一个网站涉及的东西太多了 PS flash div+css web编程 ASP ***.NET PHP JSPhttps://wap.zol.com.cn/ask/details_21486274_2182362_3.html
8.网页设计心得体会报告创新互联网页设计心得体会报告 建华ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作! http://shouzuofang.com/article/dohejc.html
9.网页设计实验报告实验心得体会5篇1、网页设计实验报告实验心得体会5篇网页设计实验报告实验心得1 本学期的网业设计课程,开展了动态思维训练教学活动,对于我们学生来说,可以激发学习兴趣,调动学习的自觉性,自己动脑、动手,动口,运用网络资源,结合教材及老师的指导,通过自身的实践,创作出积聚个人风格、个性的个人网页。总体来说,整个学期的学习过程,我https://www.renrendoc.com/paper/204156687.html
10.企业网站建设心得体会及网页设计实训心得分享企业网站建设心得体会及网页设计实训心得分享 今天我想和大家分享一下关于企业网站建设的知识和心得。还会讲解网站建设的总结和经验。如果它恰好解决了您现在面临的问题,请不要忘记关注本站并立即开始! 三篇网页设计培训心得 网页设计培训心得1: 这两周是我们的网页设计培训时间,也是考验我们实力的时候。http://www.bjhwtx.com/h-nd-350029.html
11.Web网站设计11篇(全文)在这次设计中,我还想实现排行榜这个功能,但由于个人能力不足,还有一部分时间问题,没有实现排行榜功能,心里略微有些遗憾,我会在交上本次课程设计之后继续努力完成,还有视频和背景音乐的插入,没有成功改变播放器的样式。 五、网页制作的心得体会 转瞬之间,半个学期又接近尾声,在李导师的精心辅导下,度过了这个富有生https://www.99xueshu.com/w/ikeyr3zpjgk1.html
12.学习网页制作论文(精选6篇)网页制作学习心得体会 转眼间,我已经学习《网页编程技术》这门课程一个学期了,虽然时间有点短,但是还是感到受益匪浅。 最初接触这本课程的时候,我很茫然。因为以前从来没有接触到有关这一方便的知识和如此多的陌生名词,只能用鼠标到处乱点。并且刚开始几节课,基本上每节课有90%的时间在给我说一些有关电脑的基本https://www.360wenmi.com/f/file76e8s0o0.html
13.校园网的三层网络架构设计mob64ca140e76c8的技术博客服务器网页内容 运行截图 使用技巧 心得体会 前言 思科路由模拟器(Cisco Packet Tracer)模拟出pc若干;路由器两台;两层及三层交换机各一台,网线若干。 网络信息:某学校有3个学院,学院A有网络用户50人,学院B有网络用户230人,学院C有500人,每个学院都有自己独立的楼宇,网络机房也属于独立楼宇,具有学校的web服务器。https://blog.51cto.com/u_16213676/11905543
14.网站设计经验分享:四招让你的网页设计更吸引人摘要:身为一名富有经验的网页设计师,我在此分享我在网站建设和网页设计领域学到的心得体会,希望这些见解能够给广大朋友们带来有益的启示。优秀网站应有简洁明了的页面组织架构,通过科学布局与良好导航设置,帮助用户迅速获取所需资讯。在此,我愿与您分享自身的网站开发及网页设计心得,希望能为同仁们提供参考和借鉴。 http://m.oulays.com/wangzhanyuanma/357.html
15.ps实验报告心得体会(通用6篇)ps实验报告心得体会 篇2 在这个学期的期末我们进行了ps实训,2周的时间里,我们网页编辑方向的计算机专业毕业生进行了photoshop cs4的实战练习。运用ps工具对图形进行精确选取,设计简单的图形,处理问题照片,制作各种字样(如冰雪字,火焰字),图层、通道和滤镜的运用,3D图像的编辑,文字工具组的介绍,文字的创建、调整、编辑https://m.wenshubang.com/xindetihui/251067.html
16.ps实训心得体会13篇ps实训心得体会3 一周的实训已经结束了,在这短短的一段时间内,发现了制作网页的确是个艰苦且繁琐的工作,也体会到了一些平常上课时所没有体会到的东西。多媒体制作综合实训是计算机应用技术专业结合图像处理与Flash设计与制作这两门核心课程所教授实践的技能而开设的项目化综合实训。它是根据专业教学计划的要求,在教师https://www.gdyjs.com/lizhi/xinde/506722.html
17.网站建设攻略:昆明之行,让你的网页焕然一新摘要:今天很高兴能与您分享我对于在昆明进行网页建设的心得体会。在开始网站建设前,务必要做好需求分析及构想规划。在完成网站建设时,设计与开发的关键处理环节至关重要。经过努力,我圆满完成了多个昆明网站建设项目。期待与各位共同分享,助您解决昆明网站建设相关疑难。 http://www.viindvf.cn/index.php/wangzhanyuanma/83.html