結果として Result オブジェクトのリストを作成する Python アプリを作成しました。オブジェクト Result の html 表現を作成し、その主な属性を表示するメソッドを作成しました。
class Result():
def to_html(self):
num_of_exp = "Number of exponentials: %s"% self.number_of_exponentials
function = "Function: %s"% self.function
par_of_exp = "Parameters of exponentials: <br /> %s "% pprint.pformat(self.parameters_of_exponentials)
chunk = "Chunk: <br /> %s"% pprint.pformat(self.chunk)
backgrnd = "Background <br /> %s" % pprint.pformat(self.background)
raw_par_of_exp = "Raw parameters of exponentials: <br /> %s"% pprint.pformat(self.raw_parameters)
non_phy = "Non physical solution: %s" % pprint.pformat(self.non_physical_solution)
user_choice = "User choice: %s" % pprint.pformat(self.user_choice)
output = (function + r"<br /><br />" + num_of_exp + r"<br /><br />"+ par_of_exp + r"<br /><br />" +
backgrnd+ r"<br /><br />" + non_phy + r"<br /><br />"
)
return output
Django を使用して、アプリケーションの Web インターフェイスを作成しています。
Django テンプレートを作成しました。
...
<body>
{% for result in result_list %}
{{result.to_html}}
{% endfor %}
</body>
そして return render_to_response('result_pick.html',{'result_list': rp.parsed_output_data }) を追加しました
ここで、rp.parsed_output_data は Result オブジェクトのリストです (リストのサイズは固定されていません)。
私が得る出力は、to_html() の html タグを完全に無視します。出力の HTML ソース:
Function: 98.627732*2.71828182845905**(-0.016052058*t)<br /><br />Number of exponentials: 1<br ... ...
最終結果として得なければならないのは、人間が読める形式で表示される Result オブジェクトの表現です。それぞれ独自の div と次のボタンを備えたフォームです。そのため、ユーザーが結果を選択すると、追加の詳細が表示される別のページに転送されます。
これを正しく最もクリーンな方法で行う方法についてのアドバイスを探しています。どんなコメントでも大歓迎です。TNX