前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django-REST:001-快速入门Django Restful Framework

Django-REST:001-快速入门Django Restful Framework

作者头像
大牧莫邪
发布2018-08-27 16:53:41
3460
发布2018-08-27 16:53:41
举报

Django Restful Framework

1. 下载安装

pip install djangorestframework

pip install markdown

pip install django-filter

或者直接从github上下载项目

git clone 

git@github.com:encode/django-rest-framework.git

2. 项目支持

打开自己的Django项目,在项目配置文件settings.py中,添加应用配置

INSTALLED_APPS =(

    …

    ‘rest_framework’

)

在项目根路由中,添加restframework认证路由

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

3. 操作案例

第一个案例,创建一个基于数据模型操作的api接口

完成对用户数据的读写操作

rest framework任何配置都是基于全局的REST_FRAMEWORK配置选项,打开你的Django项目配置文件settings.py,添加如下配置

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASS': [
        'rest_framework.permissions.DjangoModelPermissionOrAnonReadOnly'
    ]
}

备注:别忘记在你的INSTALLED_APPS中添加rest_framework哦!

接下来,在我们的主路由urls.py中,添加数据模型的处理方式,如下:

"""myrest_ex01 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.conf.urls import url, include
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ['url', 'username', 'email', 'is_staff']


class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer


router = routers.DefaultRouter()
router.register(r'users', UserViewSet)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api_auth/', include('rest_framework.urls')),
]

4. 运行测试

打开浏览器,访问http://localhost:8000,就可以看到restful接口描述了

PS:由于手工编写之后编辑器渲染时可能会出现代码渲染缩进出错,所以大家在看代码的过程中尽量注意!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Django Restful Framework
    • 1. 下载安装
      • 2. 项目支持
        • 3. 操作案例
          • 4. 运行测试
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档