码迷,mamicode.com
首页 > 其他好文 > 详细

BBS总结

时间:2019-09-16 09:24:56      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:登录跳转   信息   获取   五个   plain   res   导航   加载   tag   

BBS总结:

九个功能:

登录:

验证码的形成,首先形成一个image对象,可调节宽高,rgb参数调节颜色,再生成一个imagefont对象调节字体,

然后利用imagedraw画板在画板上写字,形成五个随机的字母或数字,并且将验证码存到session中,再利用bytesIO对象

将图片保存至内存,最后取出通过模板渲染到前台页面

登录认证可通过auth.authenticate进行验证,通过后auth.login一下,验证码可通过request.session进行获取验证,response是个大字典,包括

状态码和msg,通过jsonresponse可渲染到模板,ajax回调后判断状态码,如果是100就定向跳转到主页面,否则渲染错误

信息到登录页面

 

注册:

利用form组件进行后台数据校验的,可规定字符串长短,是否为空,wedget改变input框样式,局部钩子可校验单个字段,命名clean_username,返回正确字段,全局钩子可校验多个

字段,返回的是clean_data,后台形成一个form对象,点is_valid方法即可判断校验是否通过,如果通过把re_pwd数据删除,并且判断图片文件是否上传,若传了,把它也放到

clean_data字典中,**打散后用create_user添加记录注册,如果验证不通过,错误信息都在errors中,通过response字典返回模板渲染,模板中用change事件取到图片对象,把它读

入一个文件阅读器,再用onload加载后即可渲染到前台页面,ajax也是通过formdata格式编码提交文件,所以可形成一个formdata对象,把字段名,字段值append到其中即可,注意

csrf_token也要包括在内,错误信息渲染注意的是单个字段和全局错误信息(all),注册成功跳转到登录页面.

 

 

主页:

借助bootstrap搭建页面,导航条渲染时可借助is_authenticated判断用户是否登录,如果登录展示个人中心,可点击注销退出,未登录跳转登录页面,主页面用栅格系统布局,两侧是

广告,中间是文章名,摘要,作者姓名,头像等

 

个人站点

通过(头像及作者姓名)跳转到个人站点, 通过有名分组将路由作者姓名传到后台,可通过视图函数进行校验,首先校验作者是否存在,不存在渲染到error.html页面(参照博客园

404页面), 个人站点后台需要提交到前台渲染的数据有: 文章列表,不同分类,标签,随笔档案的文章数,当用户点击分类,标签,随笔档案时,其他页面内容不动,把点击那一栏的文

章删选出来即可,过滤路由是 用户名/tag/tag_id的格式

 

文章详情

点击个人站点文章title即可关联到文章详情路由找到其视图函数, 通过有名分组拿到用户名和文章id,找到该文章对象渲染到前端页面,这里用到了母版的继承,文章详情展示了

以下内容: 文章title, 文章content (传html文件,用safe转义),点赞点踩,评论列表,评论内容

 

点赞点踩

通过点击事件以jq对象点hasclass的方法判断点赞与否,利用ajax将数据提交到后台,通过过滤文章和用户生成点赞点踩对象,判断是否存在,不存在则开启事务,将点赞点踩表创

建记录的同时,把文章表的点赞或点踩数也加一,虽然数据库中点赞点踩数已经加一,但只有在页面全局刷新时才会改变,所以在ajax回调之后将其手动加一

 

根子评论:

开启事务,在评论表添加记录的同时,也在文章表添加评论数,前端模板渲染的评论列表根评论包括几楼,评论时间,用户及内容,子评论多一个@父评论用户名及内容,对于ajax

局部刷新时,用es6字符串替换的方式,将替换内容append到评论内容的jq对象即可

 

后台展示

 

文章添加

添加文章视图函数:用bs4来解析html文档,删除script标签内容来防止xss

 

八张表:用户表,博客表,文章表,分类表,标签表(第三张表),评论表,点赞点踩表

 

 

BBS总结

标签:登录跳转   信息   获取   五个   plain   res   导航   加载   tag   

原文地址:https://www.cnblogs.com/sima-3/p/11525429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!