2017-02-03 22 views
0

データベースからいくつかのデータをテーブル形式で取り出し、このテーブルにはいくつかのユーザー入力フォームが埋め込まれています。 機能的にはすべてうまくいきますが、ユーザーが投稿要求を行うたびにテンプレート全体をレンダリングするのではなく、テンプレートのテーブル部分だけをレンダリングできる方法を知りたいと思います。私はかなり勉強しましたが、FlaskとJINJA2だけで良い解決策を見つけることができませんでした。 私はAjaxとJavascriptだけを使用していますか?Flask、Jinja2部分的にレンダリングするテンプレート

おかげ

答えて

1

だから、あなたはすべての情報またはその一部のみを表示するかどうかを示すページに変数を渡すことができます。

フラスコ

showAll = False 
render_template('page', showAll = showAll) 

次にあなたがHTMLコードの特定の部分を表示するかどうかを決定するために、その変数を使用することができます。

{% if showAll != False %} 
    <p> Since I set showAll to False I will not be shown on web page<p> 
{% endif %} 

これはこれを達成する方法の1つです。しかし、それは少し複雑です。私はAJAXとJavascriptを提案します。

+0

@Myers、これはポストリクエストでも機能しますか?ユーザーがサーバーからの投稿要求を要求する送信ボタンまたは更新ボタンを押すたびに、部分テンプレートも表示されますか? – Jessi

+0

はい、毎回リダイレクトが発生します。そのため、あなたがそれを避けたいのであれば、おそらくajaxルートに行くべきです。あなたがAJAXの例を必要とするなら、私は速いものを考え出すことができます。 –