簡體   English   中英

Javascript 看不到 python function 暴露與鰻魚

[英]Javascript can`t see python function exposed with eel

我以與文檔中相同的方式使用@eel.expose,但它不起作用。 我正在嘗試將有關天氣的信息從 pyowm 發送到 javascript,但 javascript 無法識別 python ZC1C425268E68385D1AB5074F1 這是我的 python 代碼:

import eel
import pyowm

owm = pyowm.OWM("78e8414197f287eb489f857bf10fa96a")

eel.init("web")
eel.start("main.html", size=(700, 700))


@eel.expose
def getWeather(place):
    mgr = owm.weather_manager()
    observation = mgr.weather_at_place(place)
    w = observation.weather

    temp = w.temperature('celsius')['temp']

    return temp

和 html 代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Weather</title>
        <script type="text/javascript" src="/eel.js"></script>
        <link rel="stylesheet" type="text/css" href="main.css">
    </head>
    <body>
        <input type="text" id="location" placeholder="Enter city and country" required="" value="New York, USA">
        <button id="getWeatherButton">GET WEATHER</button>
        <div id="result"></div>
        
        <script type="text/javascript">
            document.getElementById("getWeatherButton").onclick = async function displayWeather() {
                let place = document.getElementById("location").value;
                let temp = await eel.getWeather(place)();

                document.getElementById("result").innerHTML = temp;
            };
        </script>
    </body>
</html>

eel.start() 必須在代碼的末尾這是正確的代碼:

import eel
import pyowm

owm = pyowm.OWM("78e8414197f287eb489f857bf10fa96a")

eel.init("web")


@eel.expose
def getWeather(place):
    mgr = owm.weather_manager()
    observation = mgr.weather_at_place(place)
    w = observation.weather

    temp = w.temperature('celsius')['temp']

    return temp


eel.start("main.html", size=(700, 700))

暫無
暫無

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

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