我编写了一个用户填写的 HTML 表单,但如果他们再次访问该页面,我如何证明他们已经总结了它?



在一个名为today.html的文件中,我写了一个广泛的表格供用户填写。我有一个包含 GET 和 POST 请求的 application.py 文件,以便用户将获得今天.html表单以特定路线 (GET( 填写,并在提交 (POST( 时,该信息将提交到 SQLite 数据库中。我需要有关用户再次访问表单所在的 GET 路由的情况的帮助。我希望他们无法再次填写表格,而是看到他们已经填写的消息,并查看(并可能编辑(他们已经完成的工作。我该怎么做?

这可以通过在 GET 响应中包含额外数据来完成。我假设用户有一个唯一的ID,可以帮助您确保他们只填写一个表单。然后,在GET请求中,当他们尝试获取表单时,只需查询您的数据库以查看他们是否已经提交了表单。如果他们这样做了,你可以包括这样的对象

{
isFilledOut: true,
submittedForm: // List of required fields
submittedFormData: // Object containing data from their previous submission
}

对于已填写的表单。如果isFilledOut为 true,请在客户端显示表单,并填写他们已经提交的数据,允许他们进行更改并根据需要重新提交。如果他们之前没有填写过表格,您的服务器可能会返回

{
isFilledOut: false,
submittedForm: // List of required fields
submittedFormData: null
}

在这种情况下,您会提示他们填写表单。

这是一个简单的例子 - 如果你愿意,你可以去掉布尔值,只检查提交的表单是否为空。

在服务器端,您可以在回答 GET 请求之前 chcek 最后一个数据库条目时间戳。

您也可以设置客户端cookie以加快界面速度。如果客户端和服务器在 GET 请求后不匹配,则始终可以抛出"out of sinc"错误

相关内容

最新更新