Python 根据数据库正确验证HTML POST

Python 根据数据库正确验证HTML POST,python,html,mysql,django,Python,Html,Mysql,Django,我有一个使用Django 1.9和python 2.7构建的站点。在我的网站上,我有一个签出页面,用户在其中从1中选择值选择2收音机3复选框字段 选择的每个值都在输入参数的值部分附加了特定的美元金额。我已在数据库中为每个可能的选择创建了项目,并希望在提交最终成本值之前验证信息是否未使用浏览器代码编辑器进行编辑 以下是我在选择菜单中的一个选项的外观: <option name="apartment" value="600" id="4p4rtm3nt">Apartment Build

我有一个使用Django 1.9和python 2.7构建的站点。在我的网站上,我有一个签出页面,用户在其中从1中选择值<代码>选择2<代码>收音机3<代码>复选框字段

选择的每个值都在输入参数的
值部分附加了特定的美元金额。我已在数据库中为每个可能的选择创建了项目,并希望在提交最终成本值之前验证信息是否未使用浏览器代码编辑器进行编辑

以下是我在选择菜单中的一个选项的外观:

<option name="apartment"  value="600" id="4p4rtm3nt">Apartment Building</option>
公寓楼
我的数据库(MySQL)中有一个对象,其
名称
,和
id
都与此选项匹配

在计算我所有项目的成本时,最有效/最安全的方法是什么来验证此信息没有被更改


个人想法

我正在考虑从帖子中提取id、name和value,然后确保它们都与数据库中的对象匹配。这似乎是广泛和低效的

你们中的一些人是怎么做到的?我试着查看一些有结帐页面的网站,但似乎不明白他们的做事方式


另外,我没有使用Django表单

仅使用
id
属性来识别客户选择的值。使用POST对象中的
id
,您可以简单地查找记录并根据这些结果计算成本。客户端无法通过浏览器编辑数据库中的值


如果您真的关心性能影响(过早优化是万恶之源),只需确保您的表在
id
上建立索引即可。Django已经为你做了这件事。

我在某个地方读到,我只能从一个POST请求中获得
名称
。。。我也可以提取身份证?好吧,我误解了你在做什么。在POST请求中,
POST
是一个类似字典的对象,输入标记的
name
属性作为键,
value
属性作为值。我建议将HTML更改为将记录的
id
设置为value属性,然后您可以通过输入名称从
POST
对象获取该属性,然后执行我最初建议的操作。感谢您的帮助,声音建议最好的方法是使用Django表单。这就是他们的目的。有趣的是,你这么说,我是在发布这篇文章后阅读的……我同意Django表格。它们非常有用。