Python 了解表单是否已提交或页面是否已刷新

Python 了解表单是否已提交或页面是否已刷新,python,django,forms,refresh,submit,Python,Django,Forms,Refresh,Submit,我正在使用一个表单搜索某个日期。表单使用GET方法进行日期检索 <form action="" method="GET"> ... <div id="search_button"><input type="submit" value={% trans 'Search' %} name="search"></div> </form> ... 我怎么知道是按了提交按钮还是重新设置了页面?如果有人提交表单,则在以表单字段命名的查

我正在使用一个表单搜索某个日期。表单使用GET方法进行日期检索

<form action="" method="GET">
  ...
  <div id="search_button"><input type="submit" value={% trans 'Search' %} name="search"></div>
</form>

...

我怎么知道是按了提交按钮还是重新设置了页面?

如果有人提交表单,则在以表单字段命名的查询字符串中会有参数。当然,如果有人刷新了该页面,我不确定您是否能够区分它与表单提交之间的区别


如果你能分辨出两者之间的区别很重要,你可能应该将表单改为使用POST。

听起来你好像在试图缓存搜索结果。如果是这样,那么您应该尝试检查缓存


从“
if(form.refreshed){use cached results}
”切换到“
if(cache.exists(form.GET)){use cached results}

我正在使用表单搜索对象,建议使用GET。好的,但是如果您的搜索是不可变的(我假设是),你能分辨出两者的区别真的那么重要吗?无论是在提交表单还是刷新以前提交的表单的情况下,我假设您仍然希望进行搜索并返回结果。对我来说,这种差异很重要。如果刷新页面,我需要另一个逻辑。为什么需要知道区别?因为我的应用程序可用于不同的语言。我不尝试缓存结果。因为我的应用程序使用不同的语言,在某些情况下,事情会变得一团糟。原因是,在用户提交表单后,此信息仍保留在url中。当语言更改时,url中的数据保持相同的格式(格式取决于语言集)。如果我知道我的操作类型,我的逻辑将更容易处理这些单独的操作(刷新或提交)。@Seitaridis,那么您想在语言更改时清除查询字符串吗?我建议您使用javascript。我想从Django代码确定何时进行页面刷新或页面提交,但我恐怕无法做到这一点。