在这种情况下,如何结合使用Python和HTML?

时间:2019-04-26 19:57:50

标签: python html css

好吧,我正在尝试使用python在html和css网站上制作某种计算器,它需要像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">

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

3 个答案:

答案 0 :(得分:2)

您既不能直接在Python中执行操作,也不能执行操作。因为Web语言是JavaScript,而只有JavaScript。但据我所知,有两个脚本用作解释脚本。它们是 CoffeeScript TypeScript 。如果仍然要使用python,则必须使用Django或Flask之类的框架。然后,您必须进行 AJAX 调用(仍通过JavaScript)并重新加载所需的Page部分。

您的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调用传递您的网址 http .... / calculate?<此处的数字> 。然后重新加载页面的结果部分。但我不建议这样做。尽管在这种情况下python很简单,但是您会发现AJAX的复杂性。仅在需要BackEnd上的内容时才应使用python。如访问服务器。或使用任何其他编程语言均不支持的功能。如果需要使用 eval 函数,则可以使用python

答案 1 :(得分: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>

答案 2 :(得分:-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>

所有人都应该成为我的朋友