Python request.referer始终不返回任何值

Python request.referer始终不返回任何值,python,flask,request,referrer,Python,Flask,Request,Referrer,网站是用烧瓶写的。我启动一个线程来发布主题mqtt中的消息。仅当用户在配置文件页面上时,才应执行流功能。为此,我使用请求的上下文request.referer。转到其他页面时,request.referer的值保持为None。 当导航到另一个页面时,我需要完成flow函数。 线程的功能: def handle_publish(self, topic_req_res, m_req_state, qos_req, timer): exit_thread = False while

网站是用烧瓶写的。我启动一个线程来发布主题mqtt中的消息。仅当用户在配置文件页面上时,才应执行流功能。为此,我使用请求的上下文
request.referer
。转到其他页面时,
request.referer
的值保持为
None
。 当导航到另一个页面时,我需要完成flow函数。 线程的功能:

 def handle_publish(self, topic_req_res, m_req_state, qos_req, timer):
    exit_thread = False
    while exit_thread is False:
        with app.test_request_context():
            print(request.referrer)
            if request.referrer is not None:
                if self.profile_url not in request.referrer:
                    exit_thread = True
                    mqtt._disconnect()
                    print("exit")
        print("Send")
        msg = json.dumps(m_req_state)
        mqtt.publish(topic_req_res, msg, qos_req)
        socketio.sleep(timer)

如果我没记错的话,如果我在配置文件页面处理程序中使用
request.referer
,它在
localhost
上不起作用,那么这就给出了正确的答案-他们进入配置文件页面的地址。但是,只要我在单独的文件、单独的类而不是视图文件中使用此构造,它就会只返回
None
。在localhost中,它就可以工作。或者你的意思是,在本地主机上不起作用的是app.test_request_context():''结构的'''''吗?不,我记得我也遇到过同样的问题(referer是None),结果忽略了它,因为我发现只有本地主机受到影响。如果这没用,很抱歉。