资讯专栏INFORMATION COLUMN

django rest framework个人学习笔记(一)————Install

yagami / 2760人阅读

摘要:本文主要是用来记录自己学习的过程。其中可能会有很多自己的错误理解。这里主要会用到的知识有百度百科阮一峰理解架构其余请自行百度。所有的全局设置都放在的字典中。使用标准的权限,未认证的用户只读权限不要忘记将添加到你的中。

本文主要是用来记录自己学习django-rest-framework的过程。其中可能会有很多自己的错误理解。

这里主要会用到的知识有

1. [django](https://www.djangoproject.com/)  
2. [django-rest-framework](http://www.django-rest-framework.org/)  
3. restful
    - [百度百科](https://baike.baidu.com/item/RESTful/4406165?fr=aladdin)
    - [阮一峰理解RESTful架构](http://www.ruanyifeng.com/blog/2011/09/restful)  
    - 其余请自行百度。  
4. [python](https://www.python.org/)

本系列中使用的版本号

1. python3.6
2. django1.11.4
3. django-rest-framework3

官方文档

安装
pip install djangorestframework
pipinstall django-filter #过滤支持,官方推荐使用 

添加 "rest_framework"django settings文件的 INSTALLED_APPS中:

INSTALL_APPS = {
    ...
    "rest_framework",
} 

如果你想使用可视化的API,可以添加如下代码到根urls.py文件中:

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

注意这个url可以是任何你想要的,但是必须导入 rest_framework.urls,并且 namespace必须为rest_framework。在django1.9+中,你可以不用设置namespace,rest_framework将会为你设置。

例子

让我们来看一个使用 REST framework构建的简单的 model-backed API.
我们创建一个 read-write API,来访问我们项目中用户的信息。
REST framework API 所有的全局设置都放在 settings.pyREST_FRAMEWORK字典中。

REST_FRAMEWORK = {
    # 使用django标准的 "django.contrib.auth"权限,未认证的用户只读权限
    "DEFAULT_PERMISSION_CLASSES": [
        "rest_framework.premissions.DjangoModelPermissionOrAnonReadOnly"
    ]
}

不要忘记将 rest_framework添加到你的INSTALLED_APPS中。
我们现在准备创建我们的API了。在我们的根urls.py模块中:

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

# Seriallzers 定义这个API的表现
class UserSerializer(serializers.HyperlinkModelSerializer):
    class Meta:
        model = User
        fields = ("url","username","email","is_staff")
  

#ViewSets定义这个API的行为
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
   
#Routers提供了一种简单的方式来设置url
router = routers.DefaultRouter()
router.register(r"users",UserViewSet)

#使用URL路由自动连接我们的API
#此外,我们还添加了一个可视化的Url
urlpatterns = [
    url("^",include(router.urls)),
    url("^api-auth/",include("rest_framework.urls"),namesapce="rest_framework"),
]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44452.html

相关文章

  • django rest framework个人学习笔记)————Install

    摘要:本文主要是用来记录自己学习的过程。其中可能会有很多自己的错误理解。这里主要会用到的知识有百度百科阮一峰理解架构其余请自行百度。所有的全局设置都放在的字典中。使用标准的权限,未认证的用户只读权限不要忘记将添加到你的中。 本文主要是用来记录自己学习django-rest-framework的过程。其中可能会有很多自己的错误理解。 这里主要会用到的知识有 1. [django](https:...

    yuxue 评论0 收藏0
  • django rest framework个人学习笔记)————Install

    摘要:本文主要是用来记录自己学习的过程。其中可能会有很多自己的错误理解。这里主要会用到的知识有百度百科阮一峰理解架构其余请自行百度。所有的全局设置都放在的字典中。使用标准的权限,未认证的用户只读权限不要忘记将添加到你的中。 本文主要是用来记录自己学习django-rest-framework的过程。其中可能会有很多自己的错误理解。 这里主要会用到的知识有 1. [django](https:...

    idisfkj 评论0 收藏0
  • django rest framework个人学习笔记(三)————Tutorial1.Serial

    摘要:测试这是一个测试链接。注意编写注释是一个好的习惯。包括各个字段的验证标记,例如。字段标记也能够控制在某些环境中如何显示,例如呈现为之前的标记相当于中的。类似于有和类,也包含和两个类。 Serialization——序列化 官网地址 前言 本教程将会介绍创建一个简单webAPI。在整个学习的过程中,将会逐一介绍到REST framework的各种组件,让你全面的了解所有东西是如果组合在一...

    Pink 评论0 收藏0
  • django rest framework个人学习笔记(三)————Tutorial1.Serial

    摘要:测试这是一个测试链接。注意编写注释是一个好的习惯。包括各个字段的验证标记,例如。字段标记也能够控制在某些环境中如何显示,例如呈现为之前的标记相当于中的。类似于有和类,也包含和两个类。 Serialization——序列化 官网地址 前言 本教程将会介绍创建一个简单webAPI。在整个学习的过程中,将会逐一介绍到REST framework的各种组件,让你全面的了解所有东西是如果组合在一...

    FreeZinG 评论0 收藏0
  • django rest framework个人学习笔记(三)————Tutorial1.Serial

    摘要:测试这是一个测试链接。注意编写注释是一个好的习惯。包括各个字段的验证标记,例如。字段标记也能够控制在某些环境中如何显示,例如呈现为之前的标记相当于中的。类似于有和类,也包含和两个类。 Serialization——序列化 官网地址 前言 本教程将会介绍创建一个简单webAPI。在整个学习的过程中,将会逐一介绍到REST framework的各种组件,让你全面的了解所有东西是如果组合在一...

    ls0609 评论0 收藏0

发表评论

0条评论

yagami

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<