私はそれを動作させるための方法を発見しました。
私はtal:condition
を使用し、フォーム提出時にリクエストオブジェクト内のデータを確認しました。
リクエスト・オブジェクトにあるもの調べるために、単にあなたのページに次のように置く:
<div tal:replace="structure request" />
注:requestオブジェクトが呼び出されたとき、それはデータの読み込み可能な、HTMLのバージョンをレンダリングします。私たちはHTMLをエスケープするのを防ぐために "構造"を使います。
私の場合、検索フォームが提出されたかどうかを確認する必要がありました。そこでDIVタグの内側で、クエリ文字列が空であるかどうかを確認しました。以下はコードのサンプルです。
<!-- Form has been submitted -->
<div tal:condition="python:request.environ.get('QUERY_STRING') != ''"></div>
<!-- Form has not been submitted -->
<div tal:condition="python:request.environ.get('QUERY_STRING') == ''"></div>
任意の変数を使用できます。私は単純に要求オブジェクトからQUERY_STRING
を使用することを選択しました。
これは完璧ではないかもしれませんが、他の人に指示を与えることを望みます。
フォームにPOSTメソッドを使用すると、QUERY_STRINGは空になることに注意してください。 (:条件= "要求/ formsubmitted" 'TAL)より良いことのための'のフィールドおよび試験を使用します。 –
潜在的に短いテスト: 'tal:condition ="リクエスト/ environ/QUERY_STRING "と' tal:condition = "not:request/environ/QUERY_STRING"。 –
@MartijnPieters洞察をいただきありがとうございます – Frankline