You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask部署乳腺癌检测模型时HTML显示为纯文本,无法渲染网页

解决Flask渲染HTML为纯文本的问题

核心问题:HTML标签被转义

你提供的index.html代码里使用了HTML转义字符(比如&lt;代替<,&gt;代替>),这会导致浏览器将所有内容识别为纯文本,而非可渲染的HTML标签。

解决方案步骤

1. 修正index.html文件内容

将index.html里的转义字符替换为正常的HTML标签符号,正确代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Breast Cancer Detector</title>
</head>
<body>
    <h1>Breast Cancer Prediction</h1>
    <div>
        <form action="{{ url_for('predict') }}" method="post" enctype="multipart/form-data">
            <input type="file" name="BreastUltrasoundImage" accept="image/png, image/jpeg" required>
            <button type="submit">Predict</button>
        </form>
        <h4 style="color: violet;">{{ predictions }}</h4>
    </div>
</body>
</html>

2. 确认运行环境的工作目录

确保运行app.py时,终端的工作目录是你的project_folder。如果从上级目录运行,Flask可能找不到templates文件夹,导致无法正确渲染模板。正确运行步骤:

cd /path/to/project_folder
python app.py

3. 显式指定模板路径(可选)

如果上述步骤无效,可以在初始化Flask应用时显式指定模板文件夹路径,确保应用能正确找到模板:

app = Flask(__name__, template_folder='templates')

(注:这一步通常无需操作,Flask默认会查找同级的templates文件夹,仅在路径异常时尝试)

额外预测功能优化提示

你的预测函数中,image.load_img(uploaded_file)可能存在文件对象加载问题,部分Keras版本需要先将上传文件保存为临时文件再加载,可参考以下代码调整:

# 在predict函数中添加临时文件处理逻辑
import tempfile

uploaded_file = request.files['BreastUltrasoundImage']
# 创建临时文件存储上传内容
with tempfile.NamedTemporaryFile(delete=False, suffix='.jpg') as temp_file:
    temp_file.write(uploaded_file.read())
    temp_path = temp_file.name

# 加载临时文件进行处理
img = image.load_img(temp_path, target_size=(256, 256))
# 处理完成后删除临时文件
os.unlink(temp_path)

内容的提问来源于stack exchange,提问作者Lilly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:14:52