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)