簡體   English   中英

調用 Flask 中的函數

[英]Calling Functions in Flask

提前道歉,因為這可能是在這里找到的最基本的問題,但我是最環保的新手,無法理解如何在 flask 中調用 function,所以當我登陸 ZE659032A8D2D8B6AD 時它會運行。

我的目的是嘗試讓 python 腳本在從 WebCore 向 URL 發出 GET 請求時運行(對於那些不知道這是一個允許您為 SmartThings 編寫智能家居功能的程序的人)或當我只是登陸時在 URL。 然后,我將把它連接到一個虛擬開關,該開關將啟動控制貓喂食器中電機的代碼,這樣我就可以遠程/通過語音喂養我的貓。

所有非常無聊的東西,但試圖在這里學習一些基礎知識,有人可以幫忙嗎?

就目前而言,我有兩個文件,都位於名為“CatFeeder”的根目錄中

喂食器.py

from flask import Flask
from feed import start

app = Flask(__name__)

@app.route('/')
def feed()
    return feed.start

if __name__ == '__main__':
    app.run(host='0.0.0.0', port='5000', debug=True)

飼料.py

import time
import RPi.GPIO as GPIO

def start():
    # Next we setup the pins for use!
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)

    Motor1Forward = 17
    Motor1Backwards = 18

    GPIO.setup(Motor1Forward,GPIO.OUT)
    GPIO.setup(Motor1Backwards,GPIO.OUT)

    print('Feeding Lola')

    # Makes the motor spin forward for x seconds 
    # James Well Beloved - 11 seconds = 28g food (RDA Portion = 52g/4kg cat or 61g/5kg cat)
    # XXXX - X seconds - Xg food

    GPIO.output(Motor1Forward, True)
    GPIO.output(Motor1Backwards, False)
    time.sleep(11)

    print('Lola Fed!')

    GPIO.output(Motor1Forward, False)
    GPIO.output(Motor1Backwards, False)

    GPIO.cleanup()

    quit()

當我設置export FLASK_APP=catfeeder.py然后flask run服務運行但當我登陸頁面時沒有任何反應。 我認為我稱呼事物的方式有問題。

我想如果我只是將 feed.py 中的代碼集成到 catfeeder.py 中,那將是最簡單的,但我不確定它的語法是什么,而且對於 go 來說,這感覺像是一種混亂的方式。

提前致謝!

您已經導入了 function 但實際上並沒有調用它,因為您錯過了添加括號() ,嘗試return start()

如果您打算返回 function object 並且不調用 function,則應通過鍵入return start將其返回

暫無
暫無

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

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