怎样用一个静态 HTML 跟 Python 程序交互呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
maloneleo88

怎样用一个静态 HTML 跟 Python 程序交互呢?

  •  
  •   maloneleo88 Mar 18, 2021 3847 views
    This topic created in 1867 days ago, the information mentioned may be changed or developed.
    我现在有的:
    1.html 页面:form 字符串 提交
    2.python 脚本:只有一个功能,获取字符串"1554***"拿去自动处理,然后 print 结果。

    有什么最简单的方法将他们做成交互的呢?提交-然后出结果。 不会 flask.django 。
    看了一眼教程,懵了,最后还都是搭建 blog,我用不到呀。 我只想通过网页重复提交来重复处罚 python 脚本运行得到结果,有什么极简的方法吗? ε=(ο`*)))
    18 replies    2021-03-19 10:57:37 +08:00
    kyokuheishin
        1
    kyokuheishin  
       Mar 18, 2021
    还是用 flask 写个后端获取表单内容吧,我寻思也不是很难
    Cooky
        2
    Cooky  
       Mar 18, 2021 via Android
    都塞同一页面里呗
    maloneleo88
        3
    maloneleo88  
    OP
       Mar 18, 2021
    @kyokuheishin 对我来说很难呀,有没有直奔主题的文章,一小时速成那种,老兄。
    maloneleo88
        4
    maloneleo88  
    OP
       Mar 18, 2021
    @Cooky 塞哪个页面里?

    我是想 html 输入------python 获取执行程序----------返回到 html 显示

    python 不能扔 html 里跑呀,html 也扔不进 py 里。 咋弄??
    junan0708
        5
    junan0708  
       Mar 18, 2021
    python 自带的 http server ?
    Dockerfile
        6
    Dockerfile  
       Mar 18, 2021
    flask 或 fastapi 很快的
    no1xsyzy
        7
    no1xsyzy  
       Mar 18, 2021
    flask 十分钟速成。就看 flask 官方文档的 Quickstart - A Minimal Application 就行了。
    或者 FastAPI

    其实 Python 能扔 HTML 里跑,WebAssembly
    shyling
        8
    shyling  
       Mar 18, 2021   1
    以前在 v2 上看到过一个人推自己的项目,类似于把 print(input('xxxx?'))转换成网页的形式,应该很适合你。(但忘了叫啥
    shyling
        9
    shyling  
       Mar 18, 2021
    cz5424
        10
    cz5424  
       Mar 18, 2021 via iPhone
    数据处理不复杂可以用 js 写一下
    natsji
        11
    natsji  
       Mar 18, 2021 via Android
    输出成 json
    dsg001
        12
    dsg001  
       Mar 18, 2021
    这就别用 html 了

    直接 txt 文档,python 监控文件是否修改,然后获取最后字符串进行处理
    maloneleo88
        13
    maloneleo88  
    OP
       Mar 18, 2021
    @shyling 正在看,正是我想要的, !!! Nb
    madpecker009
        14
    madpecker009  
       Mar 19, 2021
    为什么不考虑 flask?
    zzzmh
        15
    zzzmh  
       Mar 19, 2021
    java 的逻辑是,写成接口,最简单的就是 servlet,请求接口返回字符串。前端用 xmlhttprequest 异步获取数据渲染到页面。。。python 不懂
    SenLief
        16
    SenLief  
       Mar 19, 2021
    如果要求很简单并且不要求性能什么的,可以不用框架,而是用自带的 http.server 模块,自定义一个继承 http.sever.BaseHTTPRequestHandlerl 类,里面实现一个 do_POST 方法就可以了。
    g00001
        17
    g00001  
       Mar 19, 2021
    有个方案是直接嵌入 WebView
    https://github.com/webview/webview
    里面有 python 的封装。

    如果是 Windows,可以用 aardio 嵌入 Python 和 WebView,WebView 可以直接调用 aardio 函数,aardio 函数可以直接调用 Python 函数,也就实现了 Javascript 间接调用 Python 函数。一个简单的例子:

    import win.ui;
    var winform = win.form(text="web.view")

    import web.view;
    var wb = web.view(winform);

    import py;
    var pyCode = /**
    def testPy(): return "测试 test"
    **/
    py.exec( pyCode )

    wb.external = {
    testPy = function() return tostring( py.main.testPy() );
    }

    wb.html = /**
    <html><head>
    <script type="text/Javascript">
    aardio.testPy().then( v=>document.write(v) )
    </script>
    </head>
    **/

    winform.show();
    win.loopMessage();
    maloneleo88
        18
    maloneleo88  
    OP
       Mar 19, 2021 via Android
    @g00001
    @SenLief
    @zzzmh

    谢谢, 昨晚用
    @shyling 推荐的这个封装很轻易的实现了,直接 put_text return 结果,导一个输入,一个输出模块就可以。太适合傻瓜了
    About     Help     Advertise     Blog     API     FAQ     Solana     5465 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 68ms UTC 08:37 PVG 16:37 LAX 01:37 JFK 04:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86