gpt4 book ai didi

python - CherryPy - 将复选框选择保存到变量

转载 作者:太空狗 更新时间:2023-10-30 02:06:26 25 4
gpt4 key购买 nike

我正在尝试构建一个包含多个复选框、一个文本框和一个提交按钮的简单网页。

我刚刚接触到 Python 中的 Web 编程,并试图弄清楚如何使用 CherryPy 进行编程。

我需要将每个复选框关联到一个变量,以便我的 .py 文件知道在单击“开始”按钮时选择了哪些复选框。有人可以给一些代码示例吗?我有什么优势,包括像 Pyjamas 这样的 Python Javascript 编译器吗?

<form action="../remote_targets/ssh_grab.py">
<label for="goal"><strong>Host Availability:</strong></label>
<input style="margin-left: 30px;" type="checkbox" name="goal[]" value="cpu" /> CPU idle<br>
<input style="margin-left: 30px;" type="checkbox" name="goal[]" value="lighttpd" /> Lighttpd Service<br>
<input style="margin-left: 30px;" type="checkbox" name="goal[]" value="mysql" /> Mysql Service<br>
</form>

谢谢!

最佳答案

这是一个最小的例子:

import cherrypy

class Root(object):
@cherrypy.expose
def default(self, **kwargs):
print kwargs
return '''<form action="" method="POST">
Host Availability:
<input type="checkbox" name="goal" value="cpu" /> CPU idle
<input type="checkbox" name="goal" value="lighttpd" /> Lighttpd Service
<input type="checkbox" name="goal" value="mysql" /> Mysql Service
<input type="submit">
</form>'''

cherrypy.quickstart(Root())

这是终端输出:

$ python stacktest.py 
[10/Sep/2010:14:25:55] HTTP Serving HTTP on http://0.0.0.0:8080/
CherryPy Checker:
The Application mounted at '' has an empty config.
Submitted goal argument: None
127.0.0.1 - - [10/Sep/2010:14:26:09] "GET / HTTP/1.1" 200 276 "" "Mozilla..."
Submitted goal argument: ['cpu', 'mysql']
127.0.0.1 - - [10/Sep/2010:14:26:15] "POST / HTTP/1.1" 200 276 "http://localhost:8003/" "Mozilla..."
[10/Sep/2010:14:26:26] ENGINE <Ctrl-C> hit: shutting down app engine
[10/Sep/2010:14:26:26] HTTP HTTP Server shut down
[10/Sep/2010:14:26:26] ENGINE CherryPy shut down
$

如您所见,CherryPy 会将多个具有相同名称的控件收集到一个列表中。您不需要 [] 后缀来告诉它这样做。然后,遍历列表以查看提交了哪些值。 (请记住,如果只选择了一项,则 goal 参数将是单个字符串而不是列表!)

关于python - CherryPy - 将复选框选择保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com