如何在这种情况下结合Python和Html工作? [关闭]

问题描述 投票:-2回答:3

好吧,我正在尝试在html和css网站上使用python制作某种计算器,需要像2个值一样工作1值是常量,即num1 = 2num2是输入值,我想知道如何让python在现场实时反应并显示与print(num1 * num2)相同的输出。

Python代码:

<script>
num1 = 2
num2 = int(input())

print(num1 * num2)
</script>

HTML代码:

<input type="number" name="num2">

如何输入输入时立即显示输出?

python html css
3个回答
2
投票

你既不能用Python直接做,也不能用。因为Web的语言是JavaScript而且只有JavaScript。但是我听到过两个脚本用作解释脚本。它们是CoffeeScript和TypeScript。如果你仍然想使用python,你必须使用像Django或Flask这样的框架。然后你必须进行AJAX调用(仍然通过JavaScript)并重新加载你想要的页面部分。

您的python可能代码如下所示:

@route("/calculate?<int:input>")         # this is a dummy example web framework. Doesn't exists in real life
def calculate(request, input):
    return http_response(str(input * 2))

然后通过JavaScript使用AJAX调用传递您的URL http .... / calculate?<此处的数字>。然后重新加载页面的结果部分。但我不建议这样做。虽然在这种情况下python很容易,但你会发现自己在AJAX中很复杂。你应该只在需要BackEnd上的东西时使用python。比如访问服务器。或者使用任何其他编程语言都不支持的功能。如果需要使用eval函数,可以使用python


0
投票

你不能在浏览器中使用python ...脚本标签适用于JavaScript。您必须了解客户端和服务器端编程语言之间的区别。 但是如果你想要一个javascript解决方案:

<input type="number" name="num2">
<span id="output">
<script>
    // first number
    var num = 2;
    // get input and convert to a number
    var inp = parseInt(document.getElementsByName("num2")[0].value) || 0;
    // do math
    var out = num * inp;

    // do things with output
    console.log(out); // this will send output to console log
    document.getElementById("output").innerHTML = out; // this will write output to span
</script>

-1
投票

你不能使python在浏览器上工作,虽然它可能但不可取,我建议你使用javascript

使用Javascript

<script>
 var num1 = 2
 var num2 = document.querySelector('input')
 document.getElementById('#output').innerHTML = num1 * num2
</script>

HTML

<input type="number" name="num2">
<strong id="output"></strong>

一切都应该是我的朋友

© www.soinside.com 2019 - 2024. All rights reserved.