zoukankan      html  css  js  c++  java
  • Django中,用rest_framework写API

    在Django中用rest_framework写API,写了一个用户注册的API,并测试成功。

    本人环境:Django==2.2.1;djangorestframework==3.11.0

    1、安装djangorestframework

    (1)终端中输入命令:

    pip install djangorestframework

    (2)在settings里面的INSTALL_APP里面,添加rest_framework应用:

    INSTALL_APP = [

        ...

        'rest_framework',

    ]

    2、新建django项目和应用:

    django-admin startproject magic_chat

    django-admin startapp chat_user   #(进入magic_chat目录下)

    python manage.py migrate   # 数据写入

    3、在settings里面的INSTALL_APP里面,配置应用:

    INSTALL_APP = [

        ...

    'rest_framework',

    'chat_user.apps.ChatUserConfig',

    ]

    4、在views.py中写API代码:

    from django.contrib.auth.models import User
    
    from rest_framework import status
    
    from rest_framework.response import Response
    
    from rest_framework.views import APIView
    
    
    
    class Register(APIView):
    
        def post(self,request):
    
            """
    
            注册
    
            """
    
            username = request.data.get('username')
    
            password = request.data.get('password')
    
            user = User.objects.create_user(username=username,password=password)
    
            user.save()
    
            context = {
    
                "status":status.HTTP_200_OK,
    
                "msg":"用户注册成功"
    
            }
    
            return Response(context)
    

       

    5、配置项目的urls.py

    urlpatterns = [
    
        path('admin/', admin.site.urls),
    
        path('', include('chat_user.urls')),
    
    ]
    

       

    6、配置应用的urls.py

    from django.urls import path 
    from . import views
    
    
    urlpatterns = [
        path('register/', views.Register.as_view()),
        ]

    7、启动服务:

    python manage.py runserver

    8、验证API可调用:

    打开Postman软件,输入网址http://127.0.0.1:8000/register/,输入参数,选择post方式,send发送后成功返回"status": 200,"msg": "用户注册成功",说明API正常。

    补充:如果报csrf的错,则在请求的headers部分加入键:X-CSRFToken ,值是cookie中的csrftoken值,再次发送请求。

  • 相关阅读:
    【More Effective C++】Item 4
    【More Effective C++】Item 3
    【More Effective C++】Item 2
    【More Effective C++】Item 1
    ”win7笔记本共享无线网络,手机连接成功却无法上网“的解决之道【亲身经历】
    【RFID防碰撞协议/算法】动态二进制搜索算法
    【RFID防碰撞协议/算法】二进制搜索防碰撞算法
    总结ASP标准控件
    总结ASP控件属性
    ..........
  • 原文地址:https://www.cnblogs.com/djlbolgs/p/12745520.html
Copyright © 2011-2022 走看看