我想在我的项目中使用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")