Конвертировать Django Представления для отдыха - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть приложение, созданное давно, теперь клиент хочет представить некоторые из его представлений как API, не нарушая существующую функциональность, чтобы они могли напрямую использовать API с помощью REST Tools для просмотра отчетов.

Есть ли Проще говоря, я могу преобразовать свою функцию в REST View.

PS - здесь я сократил код, чтобы не усложнять вопрос, но на самом деле он намного сложнее в реальном приложении.

например. URL: -

    `path('/users', views.show_user_details, name='users'),`   

VIEW

 def show_user_details(request, user_id):
    users = User.objects.all()
    return render(request, "Users.html", {"users":users})

В REST Views я хочу, чтобы он преобразовал свои входные и выходные данные, чтобы он был доступен с такими же URL-адресами (или с небольшими изменениями) , без особого обновления существующих представлений.

  `path('rest/users', views.show_user_details, name='users'),`   #-- I am ok to add new url like this, but without much change in  existing view .

def show_user_details(request, user_id):
    users = User.objects.all()
    return JsonResponse({"users":users})

1 Ответ

1 голос
/ 18 апреля 2020

В связи с тем, что обычное посещение веб-сайта по-прежнему является запросом GET, а GET является лишь одним из ваших обычных действий REST, вам, вероятно, потребуется подготовить собственную независимую конечную точку API. Проверьте django -rest-framework , и вы можете просто чувствовать себя как дома для этой задачи.

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