2017-11-08 16 views
1

フラスコでウェブサイトを設定しようとしていますが、画像を表示するサイトに問題があります。編集:HTML/Javascriptでアップロードされた画像が表示されない

最初に、ホームページのフォームにはチェックボックスがあり、これをチェックすると画像が表示されます。追加のチェックボックスを明らかにし、チェックボックスに関連付けられている機能は、私はそれは私が問題を抱えていますどのように影響を持っているとは思いませんが、あります(すべて同じ付属):

HTML:

<form action= "{{ url_for('search') }}" method = "post"> 
    <dl> 
    <dd>Plot LIV<input type=checkbox name="testing" onchange="Options()"> 
    <dd><input type=submit name="submit" value=Search> 
     <div id="ops" style="display:none; float:center;"> 
      <table> 
       <tr><td>SE<input type=checkbox name="se"></td> 
       <td>RE<input type=checkbox name="A"></td> 
       <td>ITH<input type=checkbox name="B"></td> 
       <td>VTH<input type=checkbox name="C"></td> 
      </table> 
     </div> 
    </dl> 
</form> 

JavaScriptは:

function Options() { 
     var x = document.getElementById("ops"); 
     if (x.style.display === "block") { 
      x.style.display = "none"; 
     } else { 
      x.style.display = "block"; 
     } 
    } 

私は.pngとして別のURLに画像をアップロードしました。私がインターネットブラウザのアドレスに行くと、画像がうまく開きます。私が試してみて、内蔵のurl_forフラスコ法を使用してHTMLからURLにアクセスしてください。

<img scr= "{{ url_for('picture', _external=True) }}" alt= "broken"> 

このコードは、特定の値は、ドロップダウンメニューで明らかにされたときに明らかにされている別のdirである:

HTML:

<select id="testp" onchange="DispDat(this.value)"> 
<option value=" "><strong>Select Example</strong></option> 
<option value="Example"><strong>Example Text</strong></option> 
</select> 
<div id="table_tab"> 
    <div id="Example" style="display:none"> 
      <table> 
      ... 
      </table> 
      <br> 
      {% if request.form.testing %} 
        <img scr= "{{ url_for('picture', _external=True) }}" alt= "broken">     
      {% endif %} 

    </div> 
</div> 

はJavaScript:

function DispDat(key) { 
    var divs = document.getElementById("table_tab").children; 
    for (var iter = 0; iter < divs.length; iter++) { 
     divs[iter].style.display = "none";} 
    var o = document.getElementById(key); 
    if (o) { 
     o.style.display = "block";} 

画像を表示しようとしたときにソースコードを見て、ソースコードのURLが正しいです。ブラウザに直接コピーして貼り付けると正しいページに移動します。しかし、表示されるのはすべてaltテキストです。

コマンドウィンドウを見ると、期待通りにデータがポストされ、2番目のHTMLスクリプトのtableに入っていた他のすべてのデータが表示されます。私が紛失しているものがあるのですか、またはPOST形式の方法を使用することを選択したため、私が不可能なことをやろうとしていますか?

EDIT: 私はページをロードした後、サーバーを閉鎖しようとしたときに画像がロードされている必要がありますし、コマンドウィンドウでポップアップされた別のエラーに気付きました:

QObject::~QObject: Timers cannot be stopped from another thread 

でし識別でこのヘルプ問題?

+0

URLに行ったときに表示される場合は、Flaskの問題ではありません。 – davidism

+0

よく知っていますが、問題は何かの疑問が残っています。 – Reader

答えて

0

最終的に回答が見つかりました。その結果、<img>タグの末尾に/がありませんでした。私はちょっとばかばかしいと感じます...

関連する問題