我正在将其写入文本文件,然后由我的浏览器读入。如何将变量“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>')
答案 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>
如果您想在页面中使用文字<>
,请使用<>
。此外,标签的大小写应该与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>')