from blinker import Namespace
from datetime import datetime
from flask import request namespace = Namespace() login_signals = namespace.signal('login') def login_log(sender,username):
#一般实际开发中,要记录用户名,登录时间,用户ip
login_time = datetime.now()
user_ip = request.remote_addr #获取远程用户的ip地址
log_line = '{username}*{user_ip}*{login_time}'.format(username=username,user_ip=user_ip,login_time=login_time) with open('login.txt','a') as fp:
fp.write(log_line+'\n') login_signals.connect(login_log)#监听这个函数
from flask import Flask,request
from signals import login_signals
from blinker import Namespace #信号 # namespace = Namespace()#实例化一个对象
# fire_signal = namespace.signal('fire') #定义一个信号
#
#
# #监听信号
# def fire_bullet(sender):
# print(sender)
# print('start fire bullet')
#
# fire_signal.connect(fire_bullet)#监听这个信号,有信号就执行这个函数
#
#
# #发送一个信号
# fire_signal.send() #实际情况使用场景:定义一个登录的信号,以后用户登录进来以后
#就发送一个登录信号,然后能够监听这个信号
#在监听到这个信号以后,就记录当前这个用户登录的信息
#用信号的方式,记录用户的登录信息 app = Flask(__name__) @app.route('/')
def hello_world():
return 'hello_world' @app.route('/login/')
def login():
#同过查询字符串的方式来传递username这个参数
username = request.args.get('username')
if username:
login_signals.send(username=username)#发送信号,可以携带参数
return '登录成功'
else:
return '请输入用户名' if __name__ == '__main__':
app.run()

最新文章

  1. 自定义ActionBar标题与菜单中的文字样式
  2. Codeforces Round #107 (Div. 2)
  3. How to DEBUG a trigger or procedure
  4. python flask应用部署
  5. C#的GC机制(来自网摘复制,未整理)
  6. 实现Runnable接口和继承Thread类之间的区别
  7. 《转》Xcode 6 正式版如何创建一个Empty Application
  8. CodeForces Round #549 Div.2
  9. fiddler主要图标说明
  10. java8 简便的map和list操作
  11. C# 加载并显示菜单
  12. Spring事务mysql不回滚:mysql引擎修改
  13. django 正向,反向
  14. Shell教程 之字符串
  15. Linux磁盘空间占满问题快速定位
  16. Fabric V1 交易的生命周期
  17. 新手小白Linux(Centos6.5)部署java web项目(总)
  18. HDU 1176 排列2 全排列
  19. 请问C#中string是值传递还是引用传递?
  20. Docker 网络模式和跨主机通信

热门文章

  1. 【转】跟我一起写 Makefile
  2. c函数指针和指针函数如何使用何定义;如何调用使用
  3. 2017.10.3 国庆清北 D3T2 公交车
  4. AtCoder Grand Contest 019 题解
  5. Django基础(1)-虚拟环境的安装及配置
  6. PHP is_numeric() 函数
  7. 模板 - 图论 - 强连通分量 - Kosaraju算法
  8. 查看windows操作系统的默认编码【转】
  9. debian9 ps 命令不能用
  10. (信贷风控九)行为评分卡模型python实现