14 -Flask构建弹幕微电影网站-后台逻辑(六)

news/2024/5/10 2:00:35/文章来源:https://blog.csdn.net/weixin_34072637/article/details/89658991

本章内容: 日志管理实现
已上线演示地址: http://movie.mtianyan.cn
项目源码地址:https://github.com/mtianyan/movie_project

  1. 模型: Oplog Userlog Adminlog
  2. 表单: 无
  3. 请求方法: GET
  4. 访问控制: @admin_login_req

引入上下文应用处理器的概念。封装全局变量把全局变量展现到模板里面

@admin.context_processor
def tpl_extra():"""上下应用处理器"""data = dict(online_time=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))return data

如何将online_time体现在模板中

mark
mark

将增删改查的记录记录下来

session["admin_id"] = admin.id
session.pop("admin_id", None)

登录进来将id保存到session。退出时清除。

在tag_add中添加

        oplog = Oplog(admin_id=session["admin_id"],ip=request.remote_addr,reason="添加标签%s" % data["name"])db.session.add(oplog)db.session.commit()

flask中获取ip地址使用request.remote_addr

上一节中的g只活在当前请求的上下文,岂不是每个都得添加。所以在上下文应用处理器中添加字段: logo,但是全局上下文就包括了那些没有session['admin']存在的页面,如登录页面所以加上try捕获。

mark
mark

实现操作日志列表

@admin.route("/oplog/list/<int:page>/", methods=["GET"])
@admin_login_req
def oplog_list(page=None):"""操作日志管理"""if page is None:page = 1page_data = Oplog.query.join(Admin).filter(Admin.id == Oplog.admin_id,).order_by(Oplog.addtime.desc()).paginate(page=page, per_page=1)return render_template("admin/oplog_list.html", page_data=page_data)

设置了列表的处理view。前往grid中为跳转的url添加page字段。

mark
mark

使用pagedata填充页面字段值。

mark
mark

然后import pg 并调用page方法进行分页操作

mark
mark
mark
mark

管理员登录日志

在登录的view视图时存入数据

        adminlog = Adminlog(admin_id=admin.id,ip=request.remote_addr,)db.session.add(adminlog)db.session.commit()

查看列表

@admin.route("/adminloginlog/list/<int:page>/", methods=["GET"])
@admin_login_req
def adminloginlog_list(page=None):if page is None:page = 1page_data = Adminlog.query.join(Admin).filter(Admin.id == Adminlog.admin_id,).order_by(Adminlog.addtime.desc()).paginate(page=page, per_page=1)return render_template("admin/adminloginlog_list.html", page_data=page_data)

将page_data填充到模板中,import pg 然后调用page方法。

mark
mark
mark
mark

前往grid中添加跳转过来的url

mark
mark

会员登录日志列表

添加测试数据

insert into userlog(user_id,ip,addtime) values(1,"192.168.4.1",now());
insert into userlog(user_id,ip,addtime) values(2,"192.168.4.2",now());
insert into userlog(user_id,ip,addtime) values(3,"192.168.4.3",now());
insert into userlog(user_id,ip,addtime) values(4,"192.168.4.4",now());
insert into userlog(user_id,ip,addtime) values(5,"192.168.4.5",now());
insert into userlog(user_id,ip,addtime) values(6,"192.168.4.6",now());
insert into userlog(user_id,ip,addtime) values(7,"192.168.4.7",now());
insert into userlog(user_id,ip,addtime) values(8,"192.168.4.8",now());

views.py中

@admin.route("/userloginlog/list/<int:page>/", methods=["GET"])
@admin_login_req
def userloginlog_list(page=None):"""会员登录日志列表"""if page is None:page = 1page_data = Userlog.query.join(User).filter(User.id == Userlog.user_id,).order_by(Userlog.addtime.desc()).paginate(page=page, per_page=2)return render_template("admin/userloginlog_list.html", page_data=page_data)

然后先使用pagedata填充数据,再使用import pg 以及page方法进行分页

mark
mark
mark
mark
mark
mark

gird中为跳转到日志管理的url添加page参数

第七章结束,撒花庆祝。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_715451.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html网站网址一键打包成App平台-开心App平台

开心APP在线打包平台可以快速封装网站变成APP&#xff0c;一键打包网站APP平台的出现&#xff0c;极大的降低的开发费用&#xff0c;几百块就可以制作一个体验不错的APP。 网站封装成APP的流程方便快捷&#xff01;无需懂代码&#xff0c;会上网就能制作APP&#xff01; 下面介…

五、万无一失:网站的高可用架构

为什么80%的码农都做不了架构师&#xff1f;>>> &#xff08;1&#xff09;网站可用性的度量与考核 1.网站可用性度量 网站不可用也被称作网站故障&#xff0c;业界通常用多少个9来衡量网站的可用性。 2.网站可用性考核 可用性指标是网站架构设计的重要指标&am…

网站统计中的数据收集原理及实现

网站数据统计分析工具是网站站长和运营人员经常使用的一种工具&#xff0c;比较常用的有谷歌分析、百度统计 和 腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理&#…

推荐两个免费下载Smartphone桌面主题的网站

http://smartphone.krisdoff.net/http://smartphone.kleinweder.ch/downloads/看着流口水吧&#xff1f;快去下载吧&#xff0c;给自己的手机装扮一下&#xff01;

大型网站技术架构(八)网站的安全架构

2019独角兽企业重金招聘Python工程师标准>>> 从互联网诞生起&#xff0c;安全威胁就一直伴随着网站的发展&#xff0c;各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击&#xff08;…

Linux详细搭建httpd网站搭建服务(阿帕奇)

1.httpd简介当今主流的开源Web服务器软件有httpd(Apache),lighttpd,nginx,thttpd等&#xff0c;而httpd是迄今为止使用量多的web服务器&#xff0c;据统计目前httpd的全球占有量是47%左右&#xff0c;虽然有所下降但是使用两仍然是最多的&#xff0c;统计web服务器使用率的网站…

2500元就可以做一个企业网站吗?网站建设价格多少合适?

2019独角兽企业重金招聘Python工程师标准>>> 网站建设制作价格 第一个档次&#xff0c;五千块钱以下的。 这个档次的网站一般都是采用模板进行网站制作。他们会直接从网上找一些固定的模板&#xff0c;然后直接进行简单的粘贴复制。你要知道&#xff0c;你的这个价钱…

利用ASP.NET里自带的站点地图工具制作网站站点地图

站点地图很方便能快速给我们导航我们要去访问的地址&#xff0c;能按层级关系分门别类&#xff0c;给用户一个很好的用户体验&#xff0c;很好的看到自己当前所在的网站位置 站点地图&#xff0c;又称网站地图&#xff0c;它就是一个页面&#xff0c;上面放置了网站上所有页面的…

SEO优化:为什么要关注“网站抓取频率”?

每天有数以万计的URL&#xff0c;被搜索引擎爬行与抓取&#xff0c;它透过互相链接&#xff0c;构成了我们现存的互联网关系&#xff0c;对于SEO人员&#xff0c;我们经常会谈论一个名词&#xff1a;网站抓取频率。它在SEO日常工作中&#xff0c;扮演着重要的角色&#xff0c;并…

开发基于SpringBoot和BootStrap的全栈论坛网站(一):准备阶段

当学习完一种技术后&#xff0c;将所有知识点串联起来最好的方法就是以此为基础做一个完整的项目。最近心血来潮打算以SpringBoot为基础从零开始开发一款全栈的论坛博客网站。 &#xff08;一&#xff09;前序 对本人来说开发这个项目最难的反而是前端的部分&#xff0c;作为一…

开发基于SpringBoot和BootStrap的全栈论坛网站(二):后端人员如何快速使用BootStrap

本次项目所用到的前端框架是BootStrap3&#xff0c;原因是对于后端人员来说这个框架能很快地搭建出一个页面。对于windows系统和mac系统来说&#xff0c;使用BootStrap主要有两种方法。 &#xff08;一&#xff09;BootStrap起步 首先进入BootStrap官网https://v3.bootcss.co…

开发基于SpringBoot和BootStrap的全栈论坛网站(三):登陆注册以及cookies的功能完成

如果你对这个项目感兴趣&#xff0c;可以从头看起&#xff1a; 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;一&#xff09;&#xff1a;准备阶段 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;二&#xff09;&#xff1a;后端人员如何快速使用Boot…

开发基于SpringBoot和BootStrap的全栈论坛网站(四):完成问题发布功能

如果你对这个项目感兴趣&#xff0c;可以从头看起&#xff1a; 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;一&#xff09;&#xff1a;准备阶段 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;二&#xff09;&#xff1a;后端人员如何快速使用Boot…

开发基于SpringBoot和BootStrap的全栈论坛网站(五):完成首页展示以及分页功能

如果你对这个项目感兴趣&#xff0c;可以从头看起&#xff1a; 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;一&#xff09;&#xff1a;准备阶段 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;二&#xff09;&#xff1a;后端人员如何快速使用Boot…

开发基于SpringBoot和BootStrap的全栈论坛网站(六):完成个人中心、问题详情和问题编辑

如果你对这个项目感兴趣&#xff0c;可以从头看起&#xff1a; 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;一&#xff09;&#xff1a;准备阶段 开发基于SpringBoot和BootStrap的全栈论坛网站&#xff08;二&#xff09;&#xff1a;后端人员如何快速使用Boot…

开发基于SpringBoot和BootStrap的全栈论坛网站(七):完成回复和二级回复功能

论坛的搭建即将进入尾声&#xff0c;完成回复功能后只剩最后一个大功能&#xff1a;通知。然后就是对页面的精修和一些bug的修复&#xff0c;这些不会通过博客来展示&#xff0c;历史博客记录可以看我的实战项目专辑&#xff0c;在这里也不放链接了。 对一个论坛网站来说&…

开发基于SpringBoot和BootStrap的全栈论坛网站(八):完成回复通知的功能

当有人回复了你的问题时&#xff0c;肯定需要有通知能让我们看到&#xff0c;今天就来完成最后一个大功能--回复通知。具体的效果如下&#xff1a; 当有未读通知时&#xff0c;在导航栏上会显示未读通知的数量&#xff0c;点进去后能看到未读的信息&#xff0c;点击每条未读信息…

如何更改PHPCMS网站后台标题(title)

打开PHPCMS安装目录&#xff0c;选择phpcms 然后选择Languages目录&#xff0c;打开。 打开目录后&#xff0c;选择zh-cn目录&#xff0c;选择admin.lang.php用editPlus打开&#xff0c;将第九行后面的引号中的内容换成你想要改变的网站后台标题&#xff0c;保存文件 转载于:ht…

查准考证网站卡了整整一个小时进不去,被抢票支配的恐惧又来了

&#xff08;一&#xff09;概述 今天是国考出准考证的时间&#xff0c;刚好女朋友也要报名了这次考试&#xff0c;作为合格的男朋友当然是要在第一时间将准考证信息下载下来。结果到了半夜12点之后&#xff0c;整个官网一直处于无法连接、502、503、接口报错等各种问题。到了…

搜索引擎登录,网站分类目录登录地址

搜索引擎登录入口 google 如果你的网站是新发布的&#xff0c;或是访问量较低的网站在内容更新时&#xff0c;很有必要主动提交到Google&#xff0c;这样会使网站资料迅速更新倒Google搜索资料库&#xff0c;让用户能及时搜索到你的最新资料。 登录地址&#xff1a;http://www…