将html输入数据转换为动态变量名称

时间:2019-04-30 14:29:18

标签: python

我有一段接收HTML表单的代码。表单字段之一是用户选择的值。我需要将此字符串值转换为变量名。

我有以下映射SQL数据库的变量:

private29_table = Base.classes.private29

下面的变量使用fstring捕获用户输入并将“ _table”添加到末尾。

ip_table = f"{form_data['ip_quantity']}_table"

然后我尝试使用以下代码运行SQL查询:

sql_session.query(ip_table).filter(ip_table.assigned_to == 
form_data['ip_quantity']).first()]

假设用户在输入表单中输入了“ private29”。 ip_table成为'private29_table',但是它当然是字符串类型,因此当我尝试运行该字符串没有方法'assigned_to'的代码时,我得到一个错误。有什么方法可以将ip_table附带的字符串转换为有效的变量名,以便'assigned_to'方法实际上以变量而不是字符串为目标?

这样做的原因是用户有4个输入选项,每个输入选项在不同的mysql表中查找。我想用尽可能少的代码来解决这个查询,而不要使用基于用户从表单发送的值的if语句。

很抱歉,如果重复的话。我研究了我能找到的每一个动态生成的变量名,并且由于我是python和编程的新手,所以我没有发现我理解的任何解决方案。

谢谢

0 个答案:

没有答案