2016-06-19 7 views
1

フラスコでは、render_template( 'home.html、data = data)を使用してページをレンダリングできます。 javascrptを使わずにブートストラップモーダルをロードするのと同じ方法で可能ですか?例えばのために 要素がページでクリックされた場合、フラスコで直接ブートストラップモーダルを読み込むことは可能ですか?

<span class="example" data-toggle="modal" data-target="#showExample" <a href="/showExample">Testing</a></span> 

コールがフラスコ機能で機能するように作られ、それがモーダルポップアップをトリガーとした場合、フィールド

答えて

1

を移植するために使用できるデータを渡しています私はちょうどタグ「スクリプト」で、あなたのページの一番下に貼り付けます(あなたはJavaScriptでこれを行うことができ、あなたは何を意味するかを理解しています:

document.getElementById('showExample').addEventListener('click', function() { 
    // Do some stuff, that you need to do... 
}); 

それとも、あなたがしたい場合、あなたはJavaScriptをせずにこれを行うことができます(私はあなたがJinja2を使用していると思います):

ページ・テンプレートにそれを挿入します。

{% if show_example_modal %} 
    <span class="example" data-toggle="modal" data-target="#showExample" <a href="/showExample">Testing</a></span> 
{% endif %} 

Pythonのビューコード:

@app.add_route('/something/') 
def something(): 
    return render_template("something.html", show_example_modal=True) 
+0

申し訳ありませんが、私はそれを明確にしなかったが、javascriptの – jas

+0

せずにそれを行うことが可能である場合、私は思っていました編集しました、試してください – wrongway4you

+0

それは動作しません。 {%if show_example_modal%}がsomething.htmlテンプレートの一部になるため、これがどのように機能するのかよく分かりません。それは2つのステップのプロセスでなければなりません。 1. something.htmlにデータが読み込まれます。それはsomething.htmlのいくつかのデータに基づいてロードされるモーダルのためのトリガを含んでいるので、それ自身のデータセットをフェッチする必要があります。上記の例では、something.htmlがロードされたときに、「Testing」をクリックしたときにモーダルもロードできると言っています。 – jas

関連する問題