尝试使用EEL及其文档将数据从python发送到Javascript,但似乎不起作用.在我的html/js页面上一直为空。
这就是我拥有的东西。 基本上,我想获得BING壁纸的链接,在我的页面上作为背景使用。 但是在那之前,我必须先得到结果。
BING PY脚本:
导入bs4
导入请求
import json
def scrape_bing () :
BASE_PATH='http://www.bing.com '
base _ rest='/hpimagearchive.aspx? format=jsidx=0n=1mkt=en-US '
URL=BASE_PATH BASE_REST
r=requests.get(URL=URL ) )。
if r.status_code==200:
data=r.json (
wllpaper _ path=base _ path data [ ' images ' ] [0] [ ' URL ' ]
打印(wallpaper _ path ) )
else:
raisevalueerror ([ error ] non-200 responsefrombingserverfor ' { } '.format (URL ) )
戴尔主(:
scrape_bing ()
if __name__=='__main__':
main () )
这个脚本是有效的,在Python控制台上返回我的URL。
我的拿着EEL的main.py如下。
导入eel
from inc.bing import scrape_bing
El.init(web ) ) )。
myDef=scrape_bing ()
@eel.expose
def bingR () :
返回我的def
try:
El.start(index.html )、mode='chrome )、host='localhost )、port=8274 ) )。
系统退出、内存错误和密钥间隔(except ) :
通过
print('closedbrowserlog .' )
我已经在他们的例子中使用了async命令。 如下所示。
异步函数运行
let n=await eel.bingR () ) );
console.log (gotthisfrompython : ) n;
}
run (;
请理解所有这些的结构。
浏览方案
我不知道是否错误地设置了代码格式,但这有点糟糕。 此外,在不需要的情况下,还引入了bs4和json。
你的scrape_bing ()函数没有返回任何内容。 如果要为“myDef=scrape_bing ()”赋值,则必须将该值还原为“myDef”。
我稍微改变了一下,提交了这个样品。 希望对入门有帮助。 我希望这能有帮助。
main.py
导入eel
导入请求
El.init(web ) ) )。
@eel.expose
def bingR () :
BASE_PATH='http://www.bing.com '
base _ rest='/hpimagearchive.aspx? format=jsidx=0n=1mkt=en-US '
URL=BASE_PATH BASE_REST
r=requests.get(URL=URL ) )。
if r.status_code==200:
data=r.json (
wllpaper _ path=base _ path data [ ' images ' ] [0] [ ' URL ' ]
打印(wallpaper _ path ) )
return wallpaper_path
return 'No wallpaper found '
try:
El.start(index.html )、mode='chrome )、host='localhost )、port=8274 ) )。
系统退出、内存错误和密钥间隔(except ) :
通过
print('closedbrowserlog .' )
web myscript.js
异步函数运行
let n=await eel.bingR () ) );
console.log (gotthisfrompython : ) n;
document.getelementbyid(output ).value=n;
}
run (;
web index.html
Test也谢谢你介绍鳗鱼。 我第一次用那个,真的很喜欢。 )
在onclick运行期间获取意外令牌- javascript
我正在使用onclick事件从PHP中调用JS函数。 这是我的代码。 因为我在函数中,所以我需要用PHP完成它。 因为会返回$html='
我想在JavaScript中使用模板变量。 我的问题是在JavaScript代码中使用for循环。 for循环之间的所有事情都会重复。 但是,我不想。 我在下面贴了我的代码。 谁能告诉我更好的方法吗? 因为这很丑陋。 这是我的代码。 {%blockextra_JavaVaScript}