使用Django中的Json文件(静态文件)



我想在我的项目中使用json文件,但它崩溃了。

我读到我的json文件必须在静态文件夹中。因此,我在这个文件夹中创建了一个名为"数据"的新文件夹,并将该文件放入其中。

此外,我看到有些人必须在settings.py中添加以下代码行,我也这样做了。

STATICFILES_DIRS =[
os.path.join(BASE_DIR, 'static'),
]

我不知道我还能做什么,我不知道文件的路径是否错误,或者我是否必须做更多的事情。

错误如下:

[Erno 2]没有这样的文件或目录:‘data/arshu.json’

有人能帮我吗?

代码(views.py(:

from django.shortcuts import render
import pandas as pd
import json
def coordenadas(request):
lat = 9.1234567
lon = 12.1234567
code = obtener_datos()
ctx = {'Lat':lat,'Lon':lon, 'code':code}
return render(request,'map.html', ctx)

def obtener_datos():
code = 0
with open('data/arxiu.json') as file:
file = json.load(file)
return code

当我删除两行json时,程序就工作了,因此问题就在这里

我认为路径有问题,它应该是相对于BASE_DIR变量的。请尝试此解决方案:

from django.conf import settings
import os
...
def obtener_datos():
code = 0
with open(os.path.join(settings.BASE_DIR, 'static/data/arxiu.json')) as file:
file = json.load(file)
return code

我认为这可能会帮助您解决问题。很好的解释链接。

你需要这样设置你的文件:

# or, eg,
STATIC_ROOT = os.path.join(BASE_DIR, "static")

相关内容

  • 没有找到相关文章

最新更新