用于简单python字典的Django Rest API

2024-05-14 15:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django新手,我想制作一个简单的restful API,在邮递员调用python字典时以JSON格式返回它。我已经设置了我的项目文件夹,安装了RestfulAPI框架,还配置了我的settings.py 例如 在dictionary.py中,我有以下代码

dataDictionary = { 
            'hello': 'World', 
            'geeks': 'forgeeks', 
            'ABC': 123, 
            456: 'abc', 
            14000605: 1, 
            'list': ['geeks', 4, 'geeks'], 
            'dictionary': {'you': 'can', 'send': 'anything', 3: 1} 
        } 

我想通过使用POST方法输入URLhttp://127.0.0.1:8000/getdata/从Postman调用它时返回这个dict。 我已附上Django应用程序查看图片。 Django_APP


Tags: 项目djangopy文件夹框架apirestfuljson
1条回答
网友
1楼 · 发布于 2024-05-14 15:21:59

要配置基本API视图,您需要导入以下内容:

from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response
from rest_framework.decorators import api_view, renderer_classes, permission_classes
from rest_framework.permissions import AllowAny
from rest_framework.permissions import IsAuthenticated

@api_view(['POST', 'GET'])
@renderer_classes((JSONRenderer,))
@permission_classes([AllowAny,])
def sample_view(request):
    dataDictionary = { 
        'hello': 'World', 
        'geeks': 'forgeeks', 
        'ABC': 123, 
        456: 'abc', 
        14000605: 1, 
        'list': ['geeks', 4, 'geeks'], 
        'dictionary': {'you': 'can', 'send': 'anything', 3: 1} 
    } 
    return Response(dataDictionary)

请注意使用的三个装饰器@render_classes使用JSONRenderer获取元组来呈现json,@api_view用于指定这是一个API视图,它将POSTGET获取为合法请求,而@permission_classes获取[AllowAny,]获取访问权限列表。 如果要限制,可以指定IsAuthenticated或任何其他。 这是一个非常基本的视图示例,可以用作起点。当然,您需要使用提供路径的urls.py注册它

相关问题 更多 >

    热门问题