Python request.referer始终不返回任何值
网站是用烧瓶写的。我启动一个线程来发布主题mqtt中的消息。仅当用户在配置文件页面上时,才应执行流功能。为此,我使用请求的上下文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
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),结果忽略了它,因为我发现只有本地主机受到影响。如果这没用,很抱歉。