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

flask信号

时间:2019-10-26 11:00:16      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:远程   mes   方式   pre   获取   copy   write   记录   remote   

技术图片

技术图片

技术图片

 

 

技术图片
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()
技术图片

 文章出处   https://www.cnblogs.com/wuheng-123/p/9752185.html

flask信号

标签:远程   mes   方式   pre   获取   copy   write   记录   remote   

原文地址:https://www.cnblogs.com/AbnerLc/p/11741858.html

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