我正在尝试通过烧瓶设置一个网站,并且该网站显示图像存在问题。
首先,在主页上的表单中,有一个复选框,选中后,将允许显示图像。有一个与复选框相关联的功能可以显示其他复选框,但我认为它对我遇到的问题没有任何影响(包括所有相同的):
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_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文本。
查看命令窗口,它会按预期发布数据,并显示第二个table
脚本中HTML
中已经存在的所有其他数据。有没有我想念的东西,或者我想做的事情是不可能的,因为我选择使用POST
- 方法形式?
编辑: 我确实注意到在加载页面后我试图关闭服务器时,在命令窗口中弹出的另一个错误是图像应该已加载:
QObject::~QObject: Timers cannot be stopped from another thread
这有助于识别问题吗?
答案 0 :(得分:0)
我终于找到了答案。事实证明,我在/
标记的末尾错过了<img>
。我觉得有点傻......