在Python CGI中使用列表变量创建选择菜单

1 投票
3 回答
2894 浏览
提问于 2025-04-16 09:08

有没有什么简单的方法可以用列表变量生成 HTML 下拉菜单?比如我有一个列表变量 elements=['aaa','zzz','sss'],我想用这个变量生成一个下拉选择菜单:

<select name="dropdown" >
<option value="aaa">aaa</option>
<option value="zzz"> zzz </option>
<option value="sss"> sss </option>
</select> <br />

在 Perl 语言中,我可以使用 CGI 模块,只需要指定一下:

 popup_menu(-name=>'dropdown', -values=>['NULL',@elements])

谢谢大家的帮助!

3 个回答

0

为了更详细地解释Hugh的回答,有人可能需要一个被选中的选项:

def makeSelect(name, values, selectedValue=None):
  SEL = '<select name="{0}">\n{1}</select>\n'
  OPT = '<option value="{0}"{1}>{0}</option>\n'
  return SEL.format(name, ''.join(OPT.format(v, " SELECTED" if v==selectedValue else "") for v in values))
0

我不知道有没有原生的标记生成器,但这个库看起来很不错。

markup.py

补充:看起来这个库自2007年以来就没有更新过了。

1

在编程中,有时候我们会遇到一些问题,尤其是在使用特定的工具或库时。比如,有人可能在使用某个库的时候,发现它的某些功能没有按照预期工作。这种情况可能会让人感到困惑,因为我们可能不知道问题出在哪里。

通常,解决这类问题的第一步是仔细阅读相关的文档。文档里会详细说明如何正确使用这个库,可能还会给出一些示例代码,帮助我们理解如何实现特定的功能。

如果文档没有解决问题,我们可以尝试在网上搜索一下,看看其他人是否遇到过类似的问题。StackOverflow是一个很好的地方,很多开发者会在这里分享他们的经验和解决方案。

另外,调试也是一个重要的步骤。通过在代码中添加一些打印语句,我们可以查看程序在运行时的状态,这样有助于找出问题的根源。

总之,遇到问题时不要慌张,先查阅文档,搜索相关信息,必要时进行调试,通常都能找到解决办法。

def makeSelect(name,values):
    SEL = '<select name="{0}">\n{1}</select>\n'
    OPT = '<option value="{0}">{0}</option>\n'
    return SEL.format(name, ''.join(OPT.format(v) for v in values))

撰写回答