Как получить внешний файл JSON в Django Rest Framework для использования с React? - PullRequest
1 голос
/ 06 марта 2019

В моем экземпляре EC2, на котором запущены Nginx и Gunicorn, у меня также есть несколько файлов json в каталоге. В конечном итоге я хочу, чтобы DRF мог возвращать объект Response с указанным файлом json, расположенным в этом каталоге.

Вот что я должен сделать: Когда пользователь что-то щелкает, метод onClick вызовет fetch (), и я передам, скажем, 'api / jsonfiles', а также номер файла, который я хочу. urls.py будет иметь путь ('api / jsonfiles /', views.JsonFileGetter). В классе JsonFileGetter в views.py мне интересно, как я могу получить доступ, получить запрошенный файл и вернуть объект Response, содержащий данные?

1 Ответ

1 голос
/ 06 марта 2019

Вы должны сделать это следующим образом:

1- Сначала, как вы сказали, создайте onClick для fetch (), например, для DRF Api, например api/jsonfiles

2- На стороне django создайтеurls.py и назначьте ему класс представлений.

3- и в вашем классе это должно быть, например, так:

# urls.py
path('jsonfile/<filename>/', JSONFileView.as_view(), name='file_retrieve'),

# Views.py
class JSONFileView(APIView):
    def get(self, request, filename):
        root_path = "Put root folder of files" 
        file_path = os.path.join(root_path, filename)
        with open(file_path, 'r') as jsonfile:
            json_data = json.loads(jsonfile)
        return Response(json_data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...