Python 将值列表作为选项传递给3个下拉菜单

Python 将值列表作为选项传递给3个下拉菜单,python,html,Python,Html,如何将值列表存储到下拉菜单,然后获取用户选择的值 name = month = year = '' # populate names, months, years names.add( '====================' ) months = ( '==========', 'Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάϊος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβρι

如何将值列表存储到下拉菜单,然后获取用户选择的值

name = month = year = ''

# populate names, months, years
names.add( '====================' )
months = ( '==========', 'Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάϊος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος' )
years  = ( '=====', 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 )


pdata = pdata + '''
<br><h3><br><font color=orangeredsize=6> Επιλεκτική Αναζήτηση: </font><br>
<form method="POST" action="%s">
'''

pdata = pdata + '<select name="name"><option>%s</option></select>' % '</option><option>'.join( names )

pdata = pdata + '<select name="month"><option>%s</option></select>' % '</option><option>'.join( months )

pdata = pdata + '<select name="year"><option>%s</option></select>' % '</option><option>'.join( list( map( str, years ) ) )

pdata = pdata + '''
<br><input type="image" src="/static/img/submit.gif" name="seek" value="<Αναζήτηση>">
</form> <br><br>
''' % url_for( 'seek' )
name=month=year=''
#填充名称、月份、年份
名称。添加('=========================')
第三个月的月数=第三个月的月数=第三个月的月数=第三个月的月数=第三个月的月数=第三个月月的月数=第三个月月月的月数=第三个月的月数=第三个月月的月数=第三个月月月月月数=第三个月月月月数=第三个月月月月数=第三个月月月月月月数=第三个月月月月月月月数=第三个月月月月月月数,第三个月月月月月月月月数,第三个月月月月数,第三个月月月月月月月月月月数,第三个月月月月月数,第三个月月月月数,第三个月月月月月月月月月数,第三个月月月月月数,第三个月月月月月月月数,第三个月月月月月月月月)∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑
年份=('==='、2010、2011、2012、2013、2014、2015、2016、2017、2018、2019)
pdata=pdata+“”


Επλεκτκκναζτηση:
''' pdata=pdata+'%s'%''。加入(名称) pdata=pdata+“%s”%''。加入(月) pdata=pdata+'%s'%''。加入(列表(映射(str,年))) pdata=pdata+“”


('seek'的''%url\u'
月份使用方法:

要获取用户选择的值,请使用模块:

pdata=pdata+''


Επλεκτκκναζτηση:
% % %


“%”(url_表示('seek')\ ''加入(姓名), ''.join(映射(lambda参数:“%s%”(参数[0],参数[1]),枚举(月)), ''.join(列表(地图(str,年份))) 打印(pdata)
你好,埃琳娜,我根据你的建议编辑了我的初始帖子,因为我不能在评论中发布代码(我可以使用backyicks,但不知道如何保留空行,你是如何做到的?)。现在我得到了
TypeError:在字符串格式化过程中,并非所有参数都被转换。我也在使用flask,所以我从请求上下文中获取值。你能纠正我仍然做错的地方并解释一下吗?谢谢你。@uΝικόλαοςέργος,你会得到
类型错误:在字符串格式化过程中并非所有参数都被转换
,因为最后的字符串行不包含
%s
占位符。只需将('seek')
%url\u移动到
action=“%s”
的第一行。你说得对!还需要询问是否有方法将上述代码编写为一个完整的html部分,只留下最后一行占位符替换。@,似乎您在属性
代码中有输入错误。谢谢您,这正是我想要的方式!外观和感觉非常舒适!也许你也可以尝试列举月份,这样我们就可以给出ti指数了?因为如果我像传递月份名称一样传递它,而数据库中的信息是一个月的代表性数字,即6月6日`
对于i,枚举中的月份(月份):如果i!=0:print(“%s%”(i,month))else:print(“%s%”(“=============”,month))
你能把它写得更好一点吗?@code>κόλαοέργο我用
lambda
enumerate
函数更新了代码段。希望这正是你需要的。嗨,埃琳娜,哇,这是一个复杂的代码!:-)它有一个小的无效语法,插入符号在“lamda(index)”下。我试图修复它,但我不能。还有,是否有必要在lien的末尾使用“/”?嗨,eelna,我似乎无法找到语法错误发生的位置。很好,Elena,你帮了大忙,感谢你所做的一切,我很感激!
'<select name="month"><option>%s</option></select>' % \
    '</option><option>'.join(months)
'<select name="year"><option>%s</option></select>' % \
    '</option><option>'.join(list(map(str, years)))
import cgi

form = cgi.FieldStorage()
year = form.getfirst('year')
month = form.getfirst('month')
pdata = pdata + '''
<br><h3><br><font color=orangeredsize=6> Επιλεκτική Αναζήτηση: </font><br>
<form method="POST" action="%s">

  <select name="name"><option>%s</option></select>
  <select name="month">%s</select>
  <select name="year"><option>%s</option></select>

  <br>
  <input type="image" src="/static/img/submit.gif" name="seek" value="<Αναζήτηση>">
</form> <br><br>
''' % (url_for( 'seek' ), \
   '</option><option>'.join( names ), 
   ''.join( map( lambda args: '<option value="%s">%s</option>' % (args[0],  args[1]), enumerate(months) ) ), 
   '</option><option>'.join( list( map( str, years ) ) ) )

print(pdata)