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

Django项目中views.py无法加载同目录.joblib文件报错

解决Django中views.py无法加载同目录.joblib文件的问题

你遇到的FileNotFoundError是因为Django运行runserver时的工作目录是项目根目录(即manage.py所在目录),而非views.py所在的应用目录,直接使用相对路径会找不到文件。以下是可行的解决方案:

方案一:通过当前文件路径构建模型文件的绝对路径

利用__file__获取views.py的绝对路径,再拼接模型文件名,确保无论工作目录是什么都能找到文件:

import os
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
import joblib

@csrf_exempt
def test(response):
    prediction_value = None  # 初始化变量,避免GET请求时未定义报错
    if response.method == 'POST':
        age = int(response.POST['age'])
        gender_str = str(response.POST['gender'])
        gender_value = 1 if gender_str == 'Male' else 0
        openness = int(response.POST['openness'])
        neuroticism = int(response.POST['neuroticism'])
        conscientiousness = int(response.POST['conscientiousness'])
        agreeableness = int(response.POST['agreeableness'])
        extraversion = int(response.POST['extraversion'])
        
        personality_values_1 = [[gender_value, age, openness, neuroticism, conscientiousness, agreeableness, extraversion]]
        
        # 构建模型文件的绝对路径
        current_dir = os.path.dirname(os.path.abspath(__file__))
        model_path = os.path.join(current_dir, 'PersonalityTestLogisticRegression.joblib')
        theModel = joblib.load(model_path)
        
        prediction = theModel.predict(personality_values_1)
        prediction_value = prediction[0]
    return render(response, "main/Review_Test.html", {'prediction':prediction_value})

方案二:通过项目根目录构建路径

借助Django设置中的BASE_DIR(项目根目录),直接指定模型文件的位置(假设views.py在main应用下):

from django.conf import settings
import os
# 其他导入...

@csrf_exempt
def test(response):
    # 其他代码...
    model_path = os.path.join(settings.BASE_DIR, 'main', 'PersonalityTestLogisticRegression.joblib')
    theModel = joblib.load(model_path)
    # 其他代码...

额外检查点

  • 确认模型文件名拼写完全一致(包括大小写、.joblib后缀)
  • 确保.joblib文件确实和views.py在同一目录下,没有放错位置
  • 开发环境中确保文件有读取权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:15:10