zoukankan      html  css  js  c++  java
  • flask信号

    复制代码
    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+'
    ')
    
    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

  • 相关阅读:
    从头认识java-2.2 算术操作符
    从头认识java-2.1 操作符
    从头认识java-1.8 创建和操纵对象(2)
    从头认识java-1.8 创建和操纵对象(1)
    从头认识java-1.7 单根继承与集合
    从头认识java-1.6 多态
    从头认识java-目录
    颜色
    内部CSS
    外部CSS
  • 原文地址:https://www.cnblogs.com/AbnerLc/p/11741858.html
Copyright © 2011-2022 走看看