Создание экземпляра модели Django с использованием метода POST в другом скрипте Python - PullRequest
0 голосов
/ 24 августа 2018

Итак, у меня есть приложение django с некоторыми моделями, которым я могу управлять через администратора, а также через сайт, ориентированный на клиента, например, добавлять экземпляры и т. Д. Однако я хотел бы попробовать что-то немного отличное от этого. У меня есть сценарий Python, который использует объекты POST и JSON, основанные на этих же моделях, и я хотел бы иметь возможность запускать его, подключаться к своему серверу приложений django через порт и создавать новые экземпляры моих моделей (по сути, без использования Admin или моя страница клиента). Есть идеи, как мне это сделать?

1 Ответ

0 голосов
/ 24 августа 2018

Если то, что делает скрипт, просто, может быть проще всего создать представление, которое получает JSON, обрабатывает его и возвращает JsonResponse.

, например

def create_object(request):
    if request.method == 'POST':
        data = json.loads(request.body)
        # Do something with the data - e.g. create a model instance
        MyModel.objects.create(**data)
        return JsonResponse({'status': 'created'})

В качестве альтернативы, если скрипт выполняет более сложные задачи или если вы намеревались расширить его в будущем, вам лучше всего представить свой сайт через REST API, используя что-то, например, Django Rest Framework .

С помощью Django Rest Framework вы можете довольно быстро создавать API-интерфейсы на основе CRUD для своих моделей, используя такие компоненты, как ModelViewSet s и ModelSerializer s, и предоставлять их через REST с минимальным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...