我有以下HTML表单,其中包含几个复杂的输入元素:
<input type="text" name="images[1]">
<input type="text" name="images[2]">
<input type="text" name="video[1]">
<input type="text" name="video[2]">
当我谈到复杂的输入时,我的意思是复杂的元素名称:
name="images[1]"
其中images
表示输入组和[1]
数字或输入标识符。
使用PHP处理表单的方法可以实现如下:
if(isset($_POST['images'])) {
foreach($_POST['images'] as $index) { // $key
echo $_POST['images'][$index]; // or key
}
}
如何在Python中重现这一点?
答案 0 :(得分:2)
这取决于你是否使用python框架(django,Flask,...)。 如果您使用的是框架,则必须阅读其文档。例如,使用django,您可以通过request.POST ['images']处理表单元素。
答案 1 :(得分:0)
使用HTMLParser很容易。
看看这个例子。
from HTMLParser import HTMLParser
from htmlentitydefs import name2codepoint
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
print "Start tag:", tag
for attr in attrs:
print " attr:", attr
def handle_endtag(self, tag):
print "End tag :", tag
def handle_data(self, data):
print "Data :", data
def handle_comment(self, data):
print "Comment :", data
def handle_entityref(self, name):
c = unichr(name2codepoint[name])
print "Named ent:", c
def handle_decl(self, data):
print "Decl :", data
parser = MyHTMLParser()
parser.feed('<input type="text" name="images[1]">')
比你有
python a1.py
Start tag: input
attr: ('type', 'text')
attr: ('name', 'images[1]')