前端代码:
python
function processFile(filename) {
fetch(`/process_file/${filename}/`, {
method: "POST"
})
.then(response => response.json())
.then(data => {
if (data.status === "success") {
document.getElementById("uploadStatus").innerHTML += "<br>文档解析并写入数据库成功 ✔";
} else {
document.getElementById("uploadStatus").innerHTML += "<br>文档处理失败 ❌";
}
})
.catch(err => {
console.error(err);
document.getElementById("uploadStatus").innerHTML += "<br>处理出错 ❌";
});
}
文件确实已经上传成功了,但在 process_file 这一步报"处理出错"。
这说明:
-
upload_file → 正常
-
processFile(filename) → 已经调用
-
但是 process_file 这个 Django 接口 没有被正确访问到 / 报错 / 路由不匹配
原因 1:你的 URL 路由不匹配(最常见)
你前端请求的是:
POST /process_file/test.pdf/
但你的 Django urls.py 里很可能写的是 没有结尾斜杠 或 没有 filename 参数。
你的 urls.py 必须是 ↓↓↓
path('process_file/<str:filename>/', views.process_file, name="process_file"),
如果你是写:
❌ path('process_file/', ...)
❌ path('process_file', ...)
❌ path('process_file/<str:filename>', ...)(少了 /)
都会导致 404 → 前端显示"处理出错"