码迷,mamicode.com
首页 > 其他好文 > 详细

Django Rest framework

时间:2017-09-10 00:08:06      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:内容   app   django   web api   3.4   创建   clone   edm   ships   

快速上手

Django REST framework 是用于构建Web API 的强大而灵活的工具包。

我们可能想使用REST框架的一些原因:

  • Web浏览API对于开发人员来说是一个巨大的可用性。
  • 认证策略包括OAuth1a和OAuth2的包。
  • 支持ORM和非ORM数据源的序列化。

安装需求以及安装及使用

REST framework 兼容版本:

  • Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6)
  • Django (1.8, 1.9, 1.10, 1.11)

 安装

# 如果使用的是python3

pip3 install djangorestframework
pip3 install markdown   
pip3 install django-filter 

# 或者通过github安装

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

使用

# 添加 "rest_framework" 到Django settings.py文件中INSTALLED_APPS,

INSTALLED_APPS = (
    ...
    rest_framework,
)

# 如果打算使用可浏览的API。还需要添加REST framework的登录和注销视图。将以下内容添加到根url.py文件中,命名空间必须保留,路由可以设置为自己想要的。

urlpatterns = [
    ...
    url(r^api-auth/, include(rest_framework.urls, namespace=rest_framework))
]

接下来,可以举个例子

REST framework API的任何全局设置都保存在一个名为restframework的配置字典中。首先在设置中添加以下内容

REST_FRAMEWORK = {
    # 使用Django的 `django.contrib.auth` 权限验证,
    # 或者允许对未经身份验证的用户进行只读访问.
    DEFAULT_PERMISSION_CLASSES: [
        rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly
    ]
}
# 别忘记在 installedapps上添加了restframework。
# 现在已经准备好创建API了。这是项目的根 url.py 模块

from django.conf.urls import url, include
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets

# 序列化model模型展示.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = (url, username, email, is_staff)

# ViewSets定义视图行为.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer

# 路由器提供一种简单的方法来自动确定URL的设置(使用注册的方式).
router = routers.DefaultRouter()
router.register(rusers, UserViewSet)

# 使用自动URL路由连接API.
# 此外,还包括可浏览的API的登录url.
urlpatterns = [
    url(r^, include(router.urls)),
    url(r^api-auth/, include(rest_framework.urls, namespace=rest_framework))
]

现在,可以在浏览器中打开该API,http://127.0.0.1:8000/,并查看新的“用户”API。如果你在右上角使用登陆控制也可以从系统中添加,创建和删除用户。

快速了解REST framework组件

接下来了解下rest framework 的所有组件,并且得知它们是如何组合在一起的,这是非常值得去学习的。

  • 1 - Serialization 序列化
  • 2 - Requests & Responses 请求 & 响应
  • 3 - Class-based views 基于类的视图
  • 4 - Authentication & permissions 身份验证 & 权限
  • 5 - Relationships & hyperlinked APIs 这个貌似还没用过,暂时留着吧,哈哈~
  • 6 - Viewsets & routers 视图和路由
  • 7 - Schemas & client libraries 模式和客户端库(虚位以待~)

 更新中。。。2017-09-09 23:39

Django Rest framework

标签:内容   app   django   web api   3.4   创建   clone   edm   ships   

原文地址:http://www.cnblogs.com/leguan1314/p/7499612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!