这样做的目的是浏览HTML文件的内容并侦出所有img,input,area标签,这些标签没有“alt”作为其属性之一。我为它写了以下内容。我在Python中使用的库是用于提取的BeautifulSoup和用于打开URL的urllib。仅发布相关部分。
alttrue = altfalse = []
multimedialist = ['img','input','area']
for tag in multimedialist:
for incodetag in soup.findAll(tag):
if incodetag.get('alt') is None:
altfalse.append(incodetag)
else:
alttrue.append(incodetag)
print(alttrue)
print(altfalse)
最后,代码能够找到所有img,input和area标签,但是当我打印出alttrue和altfalse时,两者都有相同的img / input / area链接,即使它们中没有alt属性!
另外,我的另一个问题是,在Django中,我将这两个列表返回到views.py中的调用函数。我将这两个列表以及一堆其他列表放入变量中,并使用render函数将该变量传递给html页面。在我的html文件中,我正在使用for循环并迭代我从views.py收到的所有列表并打印出来。但是,特别是对于这两个列表,在html页面上,它显示为空白列表([])。但是如果我通常在html页面上打印变量而不对每个元素使用for循环,那么它会打印出来。如何将我的views.py中的列表传递给我的html页面没有问题,因为其他人工作得很好。为什么这个呢?
答案 0 :(得分:2)
alttrue和altfalse变量都指向同一个列表,因此附加一个也会影响另一个。您应该创建两个单独的列表:
alttrue = []
altfalse = []