需要用python编写简单的表单数据收集工具以供本地使用
我需要编写一个简单的python应用程序,用于通过表单收集数据。表单本身只需要 一些用于名称和地址的文本字段, 日期字段 和一个choosebox/下拉字段。 应用程序将在本地运行,数据应保存在本地普通csv文件中。不需要联网 我发现有很多不同的方法来解决这个问题: 命令行应用程序, 带有tkinter/qt的gui应用程序, 微框架,如烧瓶或瓶子, 像django这样的大型框架。 当然,肯定有一些方法我还没有找到。主要关注点是简单性,我需要一个指向正确方向的指针:如何实现这一点,例如,即使没有经验的开发人员也可以在以后添加或更改字段?应该作为一个简单的独立表单生成器来完成这项工作 有关创建您描述的表单的示例,请参见。应该作为一个简单的独立表单生成器来完成此任务需要用python编写简单的表单数据收集工具以供本地使用,python,forms,csv,Python,Forms,Csv,我需要编写一个简单的python应用程序,用于通过表单收集数据。表单本身只需要 一些用于名称和地址的文本字段, 日期字段 和一个choosebox/下拉字段。 应用程序将在本地运行,数据应保存在本地普通csv文件中。不需要联网 我发现有很多不同的方法来解决这个问题: 命令行应用程序, 带有tkinter/qt的gui应用程序, 微框架,如烧瓶或瓶子, 像django这样的大型框架。 当然,肯定有一些方法我还没有找到。主要关注点是简单性,我需要一个指向正确方向的指针:如何实现这一点,例如,即使没有
有关创建您描述的表单的示例,请参见。我能想到的最简单的表单将其另存为桌面上的index.html,然后在浏览器中打开:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myfirstform" name='hello'>
<div>
<label for="name">Name:</label>
<input type="text" id="name" name="user_name" />
</div>
<div>
<label for="mail">E-mail:</label>
<input type="email" id="mail" name="user_mail" />
</div>
<div>
<label for="msg">Message:</label>
<textarea id="msg" name="user_message"></textarea>
</div>
<div>
<select id="some_dropdown1" name="some_dropdown">
<option value="" disabled="disabled" selected="selected" >Please select a name</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
</div>
</form>
<input type='button' value='Submit form' onclick='submitDetailsForm()' />
<script>
function submitDetailsForm() {
var f = $("#myfirstform").serialize();
fetch('http://localhost:8080/?'+ f)
.then(r=> r.json())
.then(j=> {
console.log(j)
})
}
</script>
我的意思是,这很简单,一个python内置,jquery基本上是一个internet内置
来自服务器的响应的输入用法示例:
来自服务器的输出示例:
有关更高级的用法,请考虑:
def do_POST(self):
# Doesn't do anything with posted data
self._set_headers()
content_len = int(self.headers.getheader('content-length', 0))
post_body = self.rfile.read(content_len)
self.wfile.write("received post request:<br>{}".format(post_body))
def do_PUT(self):
self.do_POST()
我一直在思考如何写入csv/tsv文件
了解如何编写一个基本路由器,使您能够创建将数据发送回页面的端点,以便填充下拉菜单
do_GET中的一些if/else语句应该足够了
一旦你达到了极限,我更愿意以此为起点,开始学习意大利面条是如何制作的,然后开始使用烧瓶或类似cherrypy的东西
goodluck我能想到的最简单的形式是在桌面上将其另存为index.html,然后在浏览器中打开它:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myfirstform" name='hello'>
<div>
<label for="name">Name:</label>
<input type="text" id="name" name="user_name" />
</div>
<div>
<label for="mail">E-mail:</label>
<input type="email" id="mail" name="user_mail" />
</div>
<div>
<label for="msg">Message:</label>
<textarea id="msg" name="user_message"></textarea>
</div>
<div>
<select id="some_dropdown1" name="some_dropdown">
<option value="" disabled="disabled" selected="selected" >Please select a name</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
</div>
</form>
<input type='button' value='Submit form' onclick='submitDetailsForm()' />
<script>
function submitDetailsForm() {
var f = $("#myfirstform").serialize();
fetch('http://localhost:8080/?'+ f)
.then(r=> r.json())
.then(j=> {
console.log(j)
})
}
</script>
我的意思是,这很简单,一个python内置,jquery基本上是一个internet内置
来自服务器的响应的输入用法示例:
来自服务器的输出示例:
有关更高级的用法,请考虑:
def do_POST(self):
# Doesn't do anything with posted data
self._set_headers()
content_len = int(self.headers.getheader('content-length', 0))
post_body = self.rfile.read(content_len)
self.wfile.write("received post request:<br>{}".format(post_body))
def do_PUT(self):
self.do_POST()
我一直在思考如何写入csv/tsv文件
了解如何编写一个基本路由器,使您能够创建将数据发送回页面的端点,以便填充下拉菜单
do_GET中的一些if/else语句应该足够了
一旦你达到了极限,我更愿意以此为起点,开始学习意大利面条是如何制作的,然后开始使用烧瓶或类似cherrypy的东西
好运社交是件坏事吗?你考虑过谷歌表单吗?我知道谷歌表单,我个人也喜欢联网,但出于数据保护的原因,这里的要求是在本地收集、处理和存储数据。尽管我不愿意这么说,但如果简单是目标,就使用电子表格程序。创建一个两页的电子表格。1页用于数据输入,第2页用于单元格内下拉参考。要知道,在超过5-10人这样做之后,它是不可伸缩的。绝对最简单的程序是使用输入/原始输入的命令行应用程序,但它不会很漂亮。您尝试过这个吗?您是对的,这可以说是最简单的实现!但就可用性而言,这里可能有点初级。在提交整个记录之前,用户至少应该能够在字段之间切换并更改输入。联网是件坏事吗?你考虑过谷歌表单吗?我知道谷歌表单,我个人也喜欢联网,但出于数据保护的原因,这里的要求是在本地收集、处理和存储数据。尽管我不愿意这么说,但如果简单是目标,就使用电子表格程序。创建一个两页的电子表格。1页用于数据输入,第2页用于单元格内下拉参考。要知道,在超过5-10人这样做之后,它是不可伸缩的。绝对最简单的程序是使用输入/原始输入的命令行应用程序,但它不会很漂亮。您尝试过这个吗?您是对的,这可以说是最简单的实现!但就可用性而言,这里可能有点初级。在提交整个记录之前,用户至少应该能够在字段之间切换并更改其输入。