Python和HTML:将一个变量分配给提交按钮

时间:2010-07-13 18:35:02

标签: python html

我正在将其写入文本文件,然后由我的浏览器读入。如何将变量“i [0]”分配给“提交”按钮,以便将其传递给我的edit_python脚本?

k.write('<table>')
    for i in row:
        k.write('<tr>')
        k.write('<td><form action="edit_python" method="post" name="edit_python"><input type="submit" value="Submit" /><></FORM></td><td>'+i[0]+'</td><td>'+i[1]+'</td>')
        k.write('</tr>')
k.write('</table>')

2 个答案:

答案 0 :(得分:2)

将它放在隐藏的输入元素中。在这种情况下,它将被分配给ivalue post request变量。

k.write('<table>')
    for i in row:
        k.write('<tr>')
        k.write('<td><form action="edit_python" method="post" name="edit_python"><input type="hidden" name="ivalue" value="' + i[0] + '"/><input type="submit" value="Submit" /></form></td><td>'+i[0]+'</td><td>'+i[1]+'</td>')
        k.write('</tr>')
k.write('</table>')

我清理了你的HTML,在结束表单标记之前是什么意思?

 <></FORM>

如果您想在页面中使用文字<>,请使用&lt;&gt;。此外,标签的大小写应该与HTML匹配,对于XHTML(您似乎正在使用),它应该是小写的。

编辑:

  

我正在将其写入文本文件,然后由我的浏览器读取

另外,你确实意识到浏览器不会解释Python吗?您需要正确设置Web服务器才能执行此操作。

答案 1 :(得分:2)

您想将i[0]属性传递给edit_python脚本吗?我想你正在寻找一个隐藏的领域。因此,您可以修改脚本以写出:

同样在字符串中使用Python变量时,我建议不要使用您所使用的方法。查看Python string formatting以获取一些很好的示例。

我还修改了你的write方法,为属性使用字典传递,这在你在stirng中多次调用同一个变量时效果很好。

k.write('<table>')
for i in row:
    k.write('<tr>')
    k.write('<td><form action="edit_python" method="post" name="edit_python">
       <input type="hidden" name="some_attr" value="%(some_attr)s" />
       <input type="submit" value="Submit" /></form>
        </td><td>%(some_attr)s</td><td>%(some_other_attr)s</td>' 
        % {"some_attr": i[0], "some_other_attr": i[1]})

    k.write('</tr>')
k.write('</table>')