【问题标题】:Not passing values in a html form to a python cgi不将 html 表单中的值传递给 python cgi
【发布时间】:2014-06-01 22:30:35
【问题描述】:

我有一个 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的字段名称,其中字段的值称为username表单上的Action指向下面的这个.py程序

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

所以如果表单现在有关键字 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 在表单输入中找到的值,可以是 username1、username2 等

user 等于在表单中写入的值,这是我在编写 user=form.getvalue(username) 时尝试做的事情

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

这里的重要性是让 screen_name = 表单中所写内容的值

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

但是我需要帮助,因为这不起作用

谢谢

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

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'])

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

谢谢

【问题讨论】:

    标签: python forms cgi


    【解决方案1】:

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

    details = myprogram.show_user(screen_name=user)
    

    【讨论】:

    • 将变量名加引号或不加引号得到的结果是否相同?
    • 它工作了我在脚本的另一部分有一些错误,在去掉引号后它工作得很好谢谢@DanielRoseman
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 2018-12-01
    • 2015-08-31
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多