美文网首页
Django REST framework简介与基于User模型

Django REST framework简介与基于User模型

作者: 羁绊_ecb6 | 来源:发表于2018-03-04 00:18 被阅读0次

    本文纯属个人理解仅作参考

    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')), ]

    相关文章

      网友评论

          本文标题:Django REST framework简介与基于User模型

          本文链接:https://www.haomeiwen.com/subject/tgoxfftx.html