在这种情况下,如何将Python和Html结合起来工作?



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

蟒蛇代码:

<script>
num1 = 2
num2 = int(input())
print(num1 * num2)
</script>

网页代码:

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

如何让它在输入时立即显示输出?

你既不能直接在Python中做到这一点,也不能这样做。因为Web的语言是JavaScript,而且只有JavaScript。但是据我所知,有两个脚本被用作解释脚本。它们是CoffeeScriptTypeScript。如果你仍然想使用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))

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

编辑:一个新的工具已经来实现你的梦想。brython最终使在浏览器中编写python代码而不是JavaScript。它像CoffeeScript一样被解释为JavaScript,但您将无法使用python模块。

你不能在浏览器中使用 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>

你不能让python在浏览器上运行,虽然它可能但不建议,我建议你使用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>

一切都应该好我的朋友

最新更新