Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django中获取表单提交时间_Django - Fatal编程技术网

在Django中获取表单提交时间

在Django中获取表单提交时间,django,Django,在django中查找post/get提交的日期/时间的命令是什么?例如,有人正在提交电子邮件,我希望能够-- Email@example.com-time\u submitted如果您的意思是在视图中处理表单时,那么为什么不在视图中的任何位置使用datetime.datetime.now()?用户按下Submit后的毫秒数。Http get/post操作不会将时间发送到服务器,因此stevejalim提到,您可以在服务器端代码中获取a时间戳。或者,您可以传递表示用户单击/提交页面时间的附加参数。

在django中查找post/get提交的日期/时间的命令是什么?例如,有人正在提交电子邮件,我希望能够--


Email@example.com-time\u submitted

如果您的意思是在视图中处理表单时,那么为什么不在视图中的任何位置使用datetime.datetime.now()?用户按下Submit后的毫秒数。Http get/post操作不会将时间发送到服务器,因此stevejalim提到,您可以在服务器端代码中获取a时间戳。或者,您可以传递表示用户单击/提交页面时间的附加参数。您可以使用javascript设置参数:

$('#form1').submit(function() {
    var input = $("<input>").attr("type", "hidden").attr("name", "timestamp").val(new Date().getTime());
    $('#form1').append($(input));
    return true;
}
$('#form1')。提交(函数(){
var input=$(“”).attr(“type”,“hidden”).attr(“name”,“timestamp”).val(new Date().getTime());
$('#form1')。追加($(输入));
返回true;
}
两种方法:

首先,您可以修改视图以创建一个字段,并在保存响应时将其添加到表单中。类似于:

if form.is_valid() :
    timestamp = datetime.now()
    ... save it, print it, whatever...
更好的方法是在模型级别处理它,并且只为它设置一个字段

已创建\u at=models.DateTimeField(自动\u now\u add=True)


现在,当您将输入保存到数据库中时,就有了创建save()的时间方法被调用。

这取决于客户端的时钟设置是否正确,这不一定是给定的。+1它也会使它容易被篡改,如果您尝试记录重要操作的时间,这可能不太好干净简单的方法,易于实现,易于查看发生了什么。在我看来,这是最好的方法就这一点而言,提交的表单可能不会创建新的表行,甚至不会由模型数据库模型支持。如果可能,它会更干净。是的,这就是为什么我给出了第一个选项…将值发送到某个地方。如果你想有创意,你仍然会使用带有子类方法(如“write to CSV”)的模型。。。