如何在Python中使用复选框

如何在Python中使用复选框,python,html,google-app-engine,checkbox,webapp2,Python,Html,Google App Engine,Checkbox,Webapp2,我试图在HTML中使用复选框,将这些复选框返回到python后端,然后如果单击该复选框,则增加三个计数器 现在,我的HTML如下所示,工作正常: <form method="post"> <input type="checkbox inline" name="adjective" value="entertaining">Entertaining <input type="checkbox inline" name="adjective" value

我试图在HTML中使用复选框,将这些复选框返回到python后端,然后如果单击该复选框,则增加三个计数器

现在,我的HTML如下所示,工作正常:

<form method="post">
    <input type="checkbox inline" name="adjective" value="entertaining">Entertaining
    <input type="checkbox inline" name="adjective" value="informative">Informative
    <input type="checkbox inline" name="adjective" value="exceptional">Exceptional
</form>

更改name=”“并将其与值相同,这样您就可以询问

如果娱乐:

如果提供信息:


im no python程序员告诉您no

当您的表单有多个具有相同
名称
属性的复选框时,提交表单时,请求将具有该名称的多个值

您当前的代码使用
Request.get
获取值,但只有在存在多个值时才会检索第一个值。相反,您可以使用
Request.get\u all(name)
(在webapp中)或
Request.get(name,allow\u multiple=True)
(在webapp2中)获取所有值。这将返回一个(可能为空)列表,其中包含该名称的所有值

以下是您可以在代码中使用的方法:

def post(self):
    adjectives = self.request.get('adjective', allow_multiple=True)
    for a in adjectives:
        # increment count
        self.adjective_count[a] += 1 # or whatever

        # do more stuff with adjective a, if you want

    # do other stuff with the request

我想也许可以用html“形容词[]”来命名。。。也许……你知道你可以打印形容词,看看里面有什么,对吧?它最终会与你的HTML混合在一起,但你可以查看源代码来看看…@这对调试很有好处,但我需要以编程的方式进行调试,这样每次在后端都能正常工作是的,但是通过调试,你可以很容易地看到如何按语法进行调试,通过查看得到的结果,这将决定如何访问它。您使用的是
webapp
还是
webapp2
?他们的API略有不同,可以从一个请求中获取多个值。是的,我同意这稍微容易一点,但我认为这不是正确的方法。但是我可能错了。是否有一个switch语句,其中like if approcate==enterting://print code或switch case 1 if approcate==entertaining://execute case 2 if approcate==informative://executePython没有switch语句。通常的替代方法是使用字典。但是我恐怕我实际上不理解你建议的代码(把它放在答案中可能会有帮助,这样你可以正确地格式化它)。Sry我忘了使用代码标签,但我的意思是通过等号检查“形容词”的值,或者我认为默认值应该是表单中选择的值(娱乐性、特殊性或信息性)不为null或0或无值,但我也不知道python是如何工作的,但可能您知道有类似的代码,我不知道python中的术语,因此如果您可以将“形容词”的值与sting集“信息性”进行比较或者随便你选哪个都行,汉克斯!有道理,但我在网上找不到这些,我想这是文档的相关部分。
def post(self):
    adjectives = self.request.get('adjective', allow_multiple=True)
    for a in adjectives:
        # increment count
        self.adjective_count[a] += 1 # or whatever

        # do more stuff with adjective a, if you want

    # do other stuff with the request