Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将Django视图转换为rest服务_Python_Django - Fatal编程技术网

Python 将Django视图转换为rest服务

Python 将Django视图转换为rest服务,python,django,Python,Django,我很久以前就创建了一个应用程序,现在客户机希望在不破坏现有功能的情况下将其一些视图作为API公开,以便他们可以使用REST工具直接使用API来查看报告 有没有更简单的方法,我可以把我的函数转换成REST视图 p.S-我在这里缩短了代码,以保持问题的简单性,但事实上,在实际应用中,代码要复杂得多 例如。 网址:- `path('/users', views.show_user_details, name='users'),` 看法 在REST视图中,我希望它转换其输入和输出,这样就

我很久以前就创建了一个应用程序,现在客户机希望在不破坏现有功能的情况下将其一些视图作为API公开,以便他们可以使用REST工具直接使用API来查看报告

有没有更简单的方法,我可以把我的函数转换成REST视图

p.S-我在这里缩短了代码,以保持问题的简单性,但事实上,在实际应用中,代码要复杂得多

例如。 网址:-

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

在REST视图中,我希望它转换其输入和输出,这样就可以使用相同的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})

由于正常的网站访问仍然是一个
GET
请求,
GET
只是您通常的REST操作之一,因此您可能需要准备自己的独立API端点。检查一下,您可能会觉得这项任务很轻松。

django rest framework
很简单。
  `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})