-2

我对 HTML 没有真正的了解,但我必须用它来为某些数据制作 Webview。我想要一个按钮,它链接到另一个 python 脚本来比较数据集。您可以通过选中复选框来选择要比较的数据集。然后该按钮应将您带到正确的脚本。比较功能、数据集列表等都有效,但我似乎无法获得复选框的值。这会生成复选框列表

    query_3 = App.QueryFactory.new("XMLQuery", xml_2 %(p1, p2, p3))
   for smlz in query_3.getAll():
    resultz += '''
<input type="checkbox" name="sml_id" value="%s"> 
<a href="http://xxx:xxx/xxxxx?sml_1=%s&gewinde=&kopf=&antrieb=&singlesearch=Suche">
%s | ID: %s |</a><br><br>''' % ( smlz.id, smlz.id, smlz.status, smlz.id)
return resultz

这是按钮的代码:

comparebutton = """<td><input type="button" onclick="window.location.href = 'http://xxxx:xxxx/xxxx?sml_1=%s&gewinde=&kopf=&antrieb=&singlesearch=Suche';" value="Vergleichen"></td>\n""" % cb_id

keyw_c = str(kwds.get("sml_id"))   
keyw_c_l =  keyw_c.split() 
key_c_len = len(keyw_c_l)
cb_id = ''
p = 0
while p < key_c_len:
    temp_1 = str(keyw_c_l[p])
    temp_2 = temp_1.strip(",[]'")
    p += 1
    cb_id += "%s_" % temp_2

(注意:需要 _ 因为我要链接到的脚本在将数据 ID 用下划线划分时能够显示多个数据集,从而“比较”数据集)

我尝试 get、getAll 等来获取我检查的复选框的值,但我总是得到“无”我做错了什么,或者是否可以通过制作一个执行我的 python 代码的某个功能的按钮来使这更容易,因为我有“比较”脚本的代码,我只是缺乏 HTML 知识来做这样的事情。

kwds 的输出(我有 4 个输入字段,singlesearch 是搜索按钮的名称)

{'sml_1': ['test'], 'antrieb': ['test'], 'singlesearch': ['Suche'], 'kopf': ['test'], 'gewinde': ['test ']}
4

1 回答 1

0

要制作 html Web 浏览器界面,您需要 Web 浏览器与您的应用程序通信的传输。最常用的传输是http。要运行一个可以运行 python 代码的 http,有很多选项。如果我不得不推荐一些东西,那就是金字塔

然后,您的 Web 服务器应该处理不同的请求:

  1. 返回初始 html 表单的 url。该表单可以包含您需要的复选框。此表单的操作应该是请求编号 2 的 url。表单的方法可以是 POST 或 GET。使用 GET,用户可以看到表单数据。对于 POST,它是隐藏的。对于您的用例,GET 可能更好。

  2. 处理从表单获取的 url。它将能够通过查看请求来查看表单上输入的值(例如复选框)。此时,您可以调用 vpython 模块来生成所需的内容,并在 http 响应中将其传递给浏览器。

于 2012-10-09T14:12:42.300 回答