不将html表单中的值传递给python cgi

时间:2014-06-01 22:30:36

标签: python forms cgi

我有一个单独运行的Python .py cgi脚本,但是当我尝试通过表单添加新值时不会这样做

下面你将看到它在单独工作时的基本外观

在脚本中,myprogram使用screen_name的值,现在是 username1 ,以获取 username1 的详细信息,并且工作正常

当我尝试使用表单获取usernam2或username3等其他用户的信息时出现问题

在这里,您将看到此工作脚本的详细信息

........................

details = myprogram.show_user(screen_name='**username1**')

print "content-type: text/html;charset=utf-8"
print
print"<html><head></head><body>"
print (details['followers'])
print "<br/>"
print (details['friends'])
print "<br/>"
print (details['name'])

............................

正如我上面提到的,当我尝试使用表单来捕获不同的用户名时出现问题

在我的html表单中,通过POST有一个名为keyword的字段名称,其中字段的值称为用户名表单上的操作指向此下面的.py程序

我想在我的脚本中使用Form中捕获的用户名的值,因此当您编写并提交用户名值时,.py脚本将使用Screen_name中的值作为表单

因此,如果表单现在具有关键字username2或username3,那么.py脚本将需要更改 details = myprogram.show_user(screen_name =' username1 ')

要 details = myprogram.show_user(screen_name =' username2 ')

details = myprogram.show_user(screen_name =' username3 ')  取决于表单中插入的值

下面是我试图这样做并且不起作用它继续返回用户的值而不是在表单中插入的新值 我想要的是给screen_name提供在Form输入中找到的值,可以是username1,username2等等。

用户等于在表单中写入的找到的值,这是我在写user = form.getvalue(用户名)时尝试做的事情

当我运行下面的脚本时没有错误,但脚本没有从它刚执行的表单中获取值,并为screen_name提供它现在具有的值而不是表单中的值

这里的重要性是将screen_name =表示为以

形式写入的内容的值

所以我说screen_name = user where user = form.getvalue('username')

BUt我需要帮助,因为这是在工作

谢谢

哈维尔 ............................

import cgi
import cgitb
cgitb.enable()

form = cgi.FieldStorage()

user = form.getvalue('username')

details = myprogram.show_user(screen_name='user')

print "content-type: text/html;charset=utf-8"
print
print"<html><head></head><body>"
print (details['followers'])
print "<br/>"
print (details['friends'])
print "<br/>"
print (details['screen'])

........................................

由于

1 个答案:

答案 0 :(得分:0)

不要将变量名称放在引号中。

details = myprogram.show_user(screen_name=user)