首页 > 解决方案 > 如何在 Python3 中创建带有倒数计时器的网页?

问题描述

我需要创建一个带有倒数计时器的网页。以下内容不起作用,因为网页在倒计时完成后才会停止。它不会每秒更新页面,也不会正确放置值。它滚动它们。我怎样才能让它工作?或者,我相信我可以将 javascript 嵌入到 Python 代码中,但我还没有弄清楚如何做到这一点。我在网络上提供的关于从 Python 调用 javascript 的所有内容似乎都非常神秘,我根本无法弄清楚。

索引.html:

div.Countdown {
    position: fixed;
    top: 26;
    left: 480;
    width: 300px;
    font: bold 24px Arial;
    color: black;
}
</STYLE>

索引.cgi:

import time

print( '</b></h2></table></p>')
def countdown(t):
    while t:
        mins, secs = divmod(t, 60)
        timeformat = '{:02d}:{:02d}'.format(mins, secs)
        print( '<div id="Countdown">')
        print(timeformat, flush=True)
        print('</div>')
        time.sleep(1)
        t -= 1
    print('Goodbye!\n\n\n\n\n')


countdown(4)

print( '</BODY>')
print( '</HTML>')```

标签: javascripthtmlpython-3.x

解决方案


您错过了有关 Web 工作方式的一些基本内容——有一个客户端和一个服务器。通常但不总是,客户端运行在与服务器不同的机器上。在常规上下文中,客户端向服务器提交请求,服务器对此作出响应。客户端等待服务器完成响应,然后再尝试呈现响应。

您遇到的问题是,直到您的 while 循环完成,您的 HTML 才完成渲染,因此客户端在您的计时器达到零之前不会渲染任何内容。

我根本不建议在 python 中完成这个任务,它只在服务器上运行。这实际上是可能的,但只能通过非常复杂的方式。我会改为使用在客户端上运行的另一种称为 javascript 的语言。如果您使用的是 chrome,您可以右键单击此网页,然后选择“检查”选项:

在此处输入图像描述

在那里,您可以通过从开发人员控制台顶部选择控制台选项来试验 JavaScript。

这看起来像是一个关于如何为刚开始的人创建适当级别的计时器的教程:https ://www.geeksforgeeks.org/create-countdown-timer-using-javascript/


推荐阅读