博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django rest framework个人学习笔记(一)————Install
阅读量:6985 次
发布时间:2019-06-27

本文共 2007 字,大约阅读时间需要 6 分钟。

本文主要是用来记录自己学习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.62. django1.11.43. django-rest-framework3

安装

pip install djangorestframeworkpipinstall 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, includefrom django.contrib.auth.models import Userfrom 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提供了一种简单的方式来设置urlrouter = routers.DefaultRouter()router.register(r'users',UserViewSet)#使用URL路由自动连接我们的API#此外,我们还添加了一个可视化的Urlurlpatterns = [    url('^',include(router.urls)),    url('^api-auth/',include('rest_framework.urls'),namesapce='rest_framework'),]

转载地址:http://dmtpl.baihongyu.com/

你可能感兴趣的文章
【MOS】RAC 环境中最常见的 5 个数据库和/或实例性能问题 (文档 ID 1602076.1)
查看>>
新年图书整理和相关的产品
查看>>
Struts2的核心文件
查看>>
Spring Boot集成Jasypt安全框架
查看>>
GIS基础软件及操作(十)
查看>>
HDOJ 2041 超级楼梯
查看>>
1108File Space Bitmap Block损坏能修复吗2
查看>>
遭遇DBD::mysql::dr::imp_data_size unexpectedly
查看>>
人人都会设计模式:03-策略模式--Strategy
查看>>
被忽视但很实用的那部分SQL
查看>>
解读阿里云oss-android/ios-sdk 断点续传(多线程)
查看>>
ML之监督学习算法之分类算法一 ——— 决策树算法
查看>>
骡夫电商地址
查看>>
亚信安全火力全开猎捕“坏兔子”,全歼详解
查看>>
智能家居——IoT零基础入门篇
查看>>
《Linux From Scratch》第一部分:介绍 第一章:介绍-1.3. 更新日志
查看>>
阿里将在雄安新区设3家子公司:涉AI、蚂蚁金服和菜鸟;北航设立全国首个人工智能专业,与百度合作办学...
查看>>
Powershell指令集_2
查看>>
归并排序算法
查看>>
北京第一个公共云计算平台即将诞生
查看>>