本文纯属个人理解仅作参考
Django REST framework 框架是基于Django框架的用户实现接口的工具集,也是Python做服务端当今最热门的框架,它最大的好处在于代码简介,拥有可视化接口,大大的减小前后端交流的歧义。REST框架内部的很多实现都是在Django的基础上进行封装和扩展,所以需要一定的Django基础。
如何下载Django REST framework
pip install djangorestframework
pip install markdown
pip install django-filter
选择一个合适的位置新建一个Django项目
django-admin startproject project
# 进入project目录,新建应用
python manage.py startapp quickstartapp
# 进行迁移
python manage.py migrate
# 创建一个超级用户
python manage.py createsuperuser
在settings.py文件中进行注册, 注册过后的应用的模型才可以生成迁移文件并迁移。在这个例子中不需要自定义模型。所以只需要注册rest_framework即可
INSTALLED_APPS = [
...
'rest_framework',
...
]
在quickstartapp目录下新建一个srializers.py文件,里面输入下列内容
from django.contrib.auth.models import User
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
"""
新建User序列器,用户处理输入和输出的数据, 与Django的ModelForm类似
对数据翻译转换以及验证的功能
"""
class Meta:
model = User
fields = ('id', 'url', 'username', 'email', 'first_name', 'last_name', 'date_joined')
在视图views.py文件中添加文件如下
from rest_framework import viewsets
from django.contrib.auth.models import User
from quickstartapp.serializers import UserSerializer
class UserViewSet(viewsets.ModelViewset):
"""
此处内容会在可视化接口页面展示
继承基类viewsets.ModelViewSet, 会帮你创建基于User的LCRUD五类接口
即: List, Create, Retrieve, Update, Delete
"""
# 确定查询范围 即查询集 变量名必须与下列变量名一直 这是内部定义的
queryset = User.objects.all()
# 指定使用的序列器
serializer_class = UserSerializer
最后就是在project/urls.py中进行配置url了, 添加以下内容
from django.conf.urls import url, include
from django.contrib import admin
from rest_framework import routers
from quickstartapp import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include(router.urls)),
# 可视化接口的用户登录等功能,固定格式
url(r'api-auth', include('rest_framework.urls', namespace='rest_framework')), ]
网友评论