-2

HTML の実際の知識はありませんが、それを使用して一部のデータの Web ビューを作成する必要があります。データセットを比較するために別の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 に答える