推荐学习书目
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
V2EX  ›  Python

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

  •  
  •   maloneleo88 · Mar 18, 2021 · 3907 views
    This topic created in 1908 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   ·   1077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 18:45 · PVG 02:45 · LAX 11:45 · JFK 14:45
    ♥ Do have faith in what you're doing.