Python 无法从DJANGO中的json文件导入json对象

Python 无法从DJANGO中的json文件导入json对象,python,json,django,Python,Json,Django,我无法从Django中的json文件创建json对象。这是代码。 我有一个名为out.json的文件,其中包含json对象。我想将这些对象作为响应发送。我听到一个错误,说 FileNotFoundError位于/projectboard/random [Errno 2]没有这样的文件或目录:“out.json” views.py from django.shortcuts import render, HttpResponseRedirect import sys, os import json

我无法从Django中的json文件创建json对象。这是代码。 我有一个名为out.json的文件,其中包含json对象。我想将这些对象作为响应发送。我听到一个错误,说

FileNotFoundError位于/projectboard/random [Errno 2]没有这样的文件或目录:“out.json”

views.py

from django.shortcuts import render, HttpResponseRedirect
import sys, os
import json  
from django.http import JsonResponse
from tempfile import *

import subprocess


# Create your views here.
from django.http import HttpResponse

def random(request):
    os.system('python pypy.py')

    with open('out.json') as json_data:
        data = json.load(json_data)
        print(data)

    return JsonResponse(data)
url.py

from rest_framework.routers import DefaultRouter
from django.views.generic import TemplateView
from django.conf.urls import url, include
from . import views

urlpatterns = [
      url(r'^random$', views.random, name='random'),
      url(r'^view/(?P<id_remedio>\w+)/$', views.view, name='view'),
      url(r'^view/$', views.view, name='view')
]
从rest\u framework.router导入默认路由器
从django.views.generic导入模板视图
从django.conf.url导入url,包括
从…起导入视图
URL模式=[
url(r“^random$”,views.random,name='random'),
url(r'^view/(?P\w+/$),views.view,name='view'),
url(r'^view/$',views.view,name='view')
]

out.json文件应与manage.py文件位于同一目录下

foo/
    manage.py
    foo/
       __init__.py
       settings.py
       urls.py
       wsgi.py

    out.json
将Move out.json移到目录
/projectboard/out.json


out.json
必须与
views.py
位于同一目录中,或者与调用
open(file)
的py文件位于同一目录中。如果您使用的是Linux或OS X,请导航到
/projectboard
文件夹并键入
ls
以列出要再次签出的文件。json位于正确的路径中。否则,请在Windows计算机上使用
dir

我会确保包含文件的完整路径。除非您的
out.json
与试图打开它的文件位于同一文件夹中,否则您将收到该错误

更好的是,如果您的几个应用程序的文件中都有上述对象,或者只是为了清理项目,我会在应用程序中包含一个/fixtures/文件夹,并将所有.json文件都放在其中。然后,您就可以轻松地检索这些文件的根目录(可以将其包含在
settings.py
文件中)——类似于:

FIXTURES_ROOT = os.path.abspath(os.path.dirname(__file__)) + '/fixtures/'
然后你就可以使用

from django.conf import settings
...
json_path = settings.FIXTURES_ROOT + <YOUR_JSON_FILENAME>
来自django.conf导入设置的

...
json_path=settings.FIXTURES_ROOT+

在整个项目中,
out.json
存储在哪里?out.json存储在同一个目录中,即ProjectBoard似乎无法找到
out.json
。尝试将
out.json
Move out.json的views.py对应的绝对路径或相对路径指定给此目录
/projectboard/random
,或者获取文件的绝对路径,并将其作为json\u数据传递到