簡體   English   中英

如何將數據從單獨的計算機發送到 flask 應用程序

[英]how to send data from separate computer to flask app

我的用例是我有一個正在運行的 flaskapp 這個想法是它只會顯示一個 static 頁面(當前使用 PySimpleGUI),並且在接收到從另一台計算機發送的信息(例如 eg 的名稱)時,它會顯示名稱作為二維碼。 (因此可能會在 GUI 上不斷刷新並在接收數據時更改)

目前代碼設置是這樣的

@app.route('/qrcode', methods=['GET'])
def displayQrCode():
    args = request.args 
    name = args.get('name') #
    
    try:
        img = qrcode.make(name)
        img.save('checkin-qrcode.png')
        # Display QR Code
        qrWindowThread = threading.Thread(target=qrCodeWindowShow)
        qrWindowThread.start()
        print(name)
        return 'Success'
    except RuntimeError:
        return 'Error in GET'

但是,作為 Flask 的新手,我不確定如何將字符串從運行 jupyter 筆記本的單獨計算機發送到此 Flask 應用程序。 在線教程顯示就像有一個表單字段頁面,但我希望沒有用戶輸入。

因此,例如,如果 jupyter 筆記本代碼向 ipaddress:5000 發送一個發布請求,它應該理想地顯示(在此處更正我:ipaddress:5000/qrcode?name=JohnDoe),因此 flask 應用程序將檢索此 JohnDoe 並將其顯示為 QR代碼。 我可以硬編碼或手動訪問此頁面,但我如何讓它“收聽”這個 /qrcode,然后在發送時獲取值。 還是我誤解了這一切,我需要通過另一種方式來做到這一點?

編輯:

好吧,第三次幸運,我想我現在明白你想要什么了。 因此,您的用例是第一台顯示 GUI 並運行 flask 服務器的計算機,其路由可以接收字符串。

有第二台計算機可以向該路由發送帶有名稱的 http 請求,當發生這種情況時,您希望第一台計算機上的 GUI 刷新以顯示名稱的 QR 碼。

我會通過讓 qrcode 路由將該名稱寫入持久存儲來解決這個問題。 可以是任何 sqlite db、環境變量、文件中的字符串。

運行 PySimpleGUI 界面的第一台計算機將這個持久存儲存儲起來以進行更改,如果它看到更改,則它會為該名稱呈現一個新的 QR 碼並顯示它。

有多種方法可以做到這一點:

  1. RESTAPI 集成
  2. 使用龍卷風等進行實時數據傳輸
  3. 通過一個base origin進行數據傳輸

希望你能得到這方面的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM