django进阶必备(二)如何用django实现restful接口

先来介绍下django

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

然后百度下django的官方文档,首先映入眼帘的是下面这句话

Django makes it easier to build better Web apps more quickly and with less code.

大致意思是django是用更少的代码简单快速搭建web应用

那么什么是restful呢?

REST全称是Representational State TransferREST指的是一组架构约束条件和原则。" 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。

基于restful的http请求CURD

  1. ->Create    post
  1. ->Update   put
  1. ->Read     get
  1. ->Delete    delete

我们这里掠过django的orm操作

直接上url与类视图

跟着我的步骤走

Step1  python manage.py startapp demo

Step2  进入demo的views.py引入下边的包
from django.views import View
from django.http import JsonResponse,QueryDict
from django.views.decorators.csrf import csrf_exempt

 

class RestApi(View):
    @csrf_exempt
    def dispatch(self, request, *args, **kwargs):
        if request.method.lower() in self.http_method_names:
            handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
        else:
            handler = self.http_method_not_allowed
        return handler(request, *args, **kwargs)
    def get(self,request):
        value = request.GET.get("value","")
        return JsonResponse({"status":200,"data":"这是GET请求"})
    def post(self,request):
        value = request.POST.get("value", "")
        return JsonResponse({"status":200,"data":"这是POST请求"})
    def put(self,request):
        values = QueryDict(request.body)
        return JsonResponse({"status":200,"data":"这是PUT请求"})
    def delete(self,request):
        values = QueryDict(request.body)
        return JsonResponse({"status":200,"data":"这是DELETE请求"})

Url规划 计划采用多级路由

子路由urls.py代码

from django.urls import path
from demo.views import RestApi
urlpatterns = [
    path('rest_api/', RestApi.as_view()),
]

附上:http 状态码

2XX 200请求成功

3XX 301 302 重定向

4XX 404 找不到页面 403 fordiden 拒绝访问

5XX 500 服务器内部错误 502 bad gateway 服务器网关错误

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值