2013-05-27 31 views
0

我正在写一个Python CGI,它从HTML页面获取某些字段值,我处于需要转换这些输入值以使它们与数据库的表值匹配并从中获取数据的点。转换Python HTML输入

例如,如果我的UI的字段值是'批评',那么它应该转换为'8_critic'以匹配数据库表值。

我该怎么做? 也许这样的事情?

#!C:\Python27\python.exe -u 
import cgi 
import json 
import cgitb 
print "Content-type: application/json\n\n" 

fs = cgi.FieldStorage() 
def transform(fs): 
for key in fs.keys(): 
    if key == 'critic' : 
    #key = '8_critic' 
    elif key == 'somthing_else' : 
    #key = 'another_thing' 

任何帮助,将不胜感激。

+0

你是什么意思的“变换”?你想改变数据库中的某些值吗?你想在HTTP响应中返回一个更改的值吗? – 2013-05-27 14:59:23

+0

不,我想转换Python cgi的输入值,然后将该输入添加到参数化查询中。因为UI字段与数据库列名称或值不同。 – salamey

回答

0

我我将有一个转换表的最好办法:

tr = { 'critic' : '8_critic', 'foo' : 'bar' } 

和理解作出新的dictionnary:

nfs = { tr[k]:fs[k] for k in fs } 

在这里,我以为你不关心FieldStorage在这一点上。如果不是这样,你仍然可以这样做:

nfs = cgi.FieldStorage() 
for k in fs: 
    nfs[ tr[k] ] = fs[k] 
+0

谢谢,'fs'是什么? – salamey

+0

这是你的变量之一的名称.... – deufeufeu

+0

哦是的抱歉,谢谢你我会测试这个,看看它是如何工作的。 – salamey