【问题标题】:Backend countdown timer in djangodjango中的后端倒数计时器
【发布时间】:2021-03-22 16:16:29
【问题描述】:

我正在用 Django 开发一个测验应用程序。我希望维护一个参加测验的计时器,并且用户不应该能够从前端更改时间。也许有一些方法可以使用 JavaScript 来实现,但用户可以很容易地更改这些方法。所以我想要的是在服务器端维护一个计时器,这样一旦时间到了,测验就会自动提交。我正在开发 django 3.1。请帮忙。

【问题讨论】:

    标签: django server timer backend countdown


    【解决方案1】:

    您可以在 .env 文件和前端存储结束时间的时间戳值,

    你调用一个 api 到后端来获取时间戳,并通过timestamp of end time - now() 显示剩余时间。

    在后端,您将在每天的特定时间有一个后台任务(您可以使用Celery)来检查 now() >= 时间戳。如果是这样,服务器将不再接受来自该用户表单的上传

    【讨论】:

    • 如果我希望不同用户的计时器不同,这会起作用吗?人们可以随时开始测验,我希望让每个用户都有自己的时间限制。每个用户都应该能够在给定的时限内提交测验。
    • @Sruti 如果对于每个用户来说,那部分有点棘手,我建议每个用户应该在数据库中有一个 end_time() 列,而不是使用 .env 文件。这是我能想到的唯一选择,而用户不会在前端搞乱价值
    • django 频道之类的东西会起作用吗?
    • @Sruti 我还没有使用 django-channel 但如果我没记错的话它是用于网络套接字的,但是实时计数器可能会工作
    猜你喜欢
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2019-05-18
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多