为什么我不能从Django中带有Pandas的媒体文件夹中指定文件位置?

2024-06-10 23:35:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图让pandas从媒体文件夹中读取文件read_excel()。 这就是我尝试过的:

from django.shortcuts import render
from .models import Benchmark
import pandas as pd

# Create your views here.

def main_view(request):
    file = pd.read_excel('media/uploads/benchmarks/benchmarks_for_website.xlsx', index_col=0)
    context = {
        'df': file.to_html()
    }
    return render(request, 'main.html', context)

它可以编译,但当我尝试在浏览器中访问html页面时,会出现以下错误:

FileNotFoundError at /benchmarks/ [Errno 2] No such file or directory: 'media/uploads/benchmarks/benchmarks_for_website.xlsx'

我做错了什么?此外,我还有MEDIA_ROOTMEDIA_URL

MEDIA_URL = '/media/'
MEDIA_ROOT = '/home/user/project/media'

非常感谢您的帮助


Tags: fromimportpandasreadmainrequesthtmlrender
1条回答
网友
1楼 · 发布于 2024-06-10 23:35:50

因此,经过一天的进一步尝试,我决定测试将实际的网站url放在media位之前。所以最后它看起来是这样的:

from django.shortcuts import render
from .models import Benchmark
import pandas as pd

# Create your views here.

def main_view(request):
    file = pd.read_excel('https://url.com/media/uploads/benchmarks/benchmarks_for_website.xlsx', index_col=0)
    context = {
        'df': file.to_html()
    }
    return render(request, 'main.html', context)

我猜这不是“正确”的方法,但对我来说很有效。请随意评论一个更好的解决方案

相关问题 更多 >