温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django REST framework

发布时间:2020-06-24 17:43:23 来源:网络 阅读:650 作者:大牙啊 栏目:编程语言


第1章 简介

Django rest framework 是一套基于django框架编写restful风格API的组件

第2章 简单了解下都有哪些特点

2.1serializers(序列化)

就是将复杂的数据结构json化,支持ORM和非ORM数据源的序列化

2.2authentication(身份认证)

快速实现支持auth2auth3的方式的权限验证

2.3request and response(请求与响应)

扩展了常规的HttpResquestTemplateResponse

2.4viewset and routers(视图和路由)

第3章 开始一个简单的项目

3.1创建好Django项目后,修改settings文件

INSTALLED_APPS= [
    
…….
    
'rest_framework',
    
'app',
]


DATABASES = {
    
'default': {
        
'ENGINE''django.db.backends.mysql',
        
'NAME''restful',
        
'USER''root',
        
'PASSWORD''123465',
        
'HOST''local.dev',
        
'PORT''3306',
    
}
}

 

3.2配置urls文件

from django.conf .urls import urlinclude


urlpatterns = [
    path(
'admin/'admin.site.urls),
    
path(r'^test/'include('app.urls')),
]

3.3编写model层:

from django.dbimport models

# Create your models here.
class Restful(models.Model):
    name= models.CharField(
max_length=30)
    passwd = models.CharField(
max_length=10)

    
def__str__(self):
        
returnself.name

3.4初始化数据库

python manage.py makemigrations

python manage.py migrate

3.5编写序列化模块:

from rest_frameworkimport serializers
from .models import Restful

class RestfulSerializer(serializers.ModelSerializer):
    
classMeta:
        model = Restful
        fields = (
"id""name""passwd")

3.6编写视图views.py

from django.shortcutsimport render

# Create your views here.
from rest_framework import statusgenerics
from rest_framework.response import Response
from rest_framework.views import APIView
from .models import Restful
from .serializer import RestfulSerializer


class RestfulView(APIView):
    
defget(selfrequestformat=None):
        data = Restful.objects.all()
        serializer = RestfulSerializer(data
many=True)
        
returnResponse(serializer.data)

    
defpost(selfrequestformat=None):
        serializer = RestfulSerializer(
data=request.data)
        
ifserializer.is_valid():
            serializer.save()
            
returnResponse(serializer.datastatus=status.HTTP_201_CREATED)
        
else:
            
returnResponse(serializer.datastatus=status.HTTP_400_BAD_REQUEST)

3.7编写app路由urls.py

from django.conf.urlsimport url
from import views

urlpatterns = [
    url(
r'^api/$'views.RestfulView.as_view()name='restful'),
]

3.8进行测试:

插入数据:

  ~ curl -X POST http://localhost:8000/test/api/ -d "name=jiangby&passwd=123456"

{"id":1,"name":"jiangby","passwd":"123456"}%                                                                                                                                    

  ~ curl -X POST http://localhost:8000/test/api/ -d "name=test&passwd=123456"

{"id":2,"name":"test","passwd":"123456"}%

查看数据:

Django REST framework

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI