摘要:本文主要是用來(lái)記錄自己學(xué)習(xí)的過(guò)程。其中可能會(huì)有很多自己的錯(cuò)誤理解。這里主要會(huì)用到的知識(shí)有百度百科阮一峰理解架構(gòu)其余請(qǐng)自行百度。所有的全局設(shè)置都放在的字典中。使用標(biāo)準(zhǔn)的權(quán)限,未認(rèn)證的用戶(hù)只讀權(quán)限不要忘記將添加到你的中。
本文主要是用來(lái)記錄自己學(xué)習(xí)django-rest-framework的過(guò)程。其中可能會(huì)有很多自己的錯(cuò)誤理解。
這里主要會(huì)用到的知識(shí)有
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架構(gòu)](http://www.ruanyifeng.com/blog/2011/09/restful) - 其余請(qǐng)自行百度。 4. [python](https://www.python.org/)
本系列中使用的版本號(hào)
1. python3.6 2. django1.11.4 3. django-rest-framework3
官方文檔
安裝pip install djangorestframework pipinstall django-filter #過(guò)濾支持,官方推薦使用
添加 "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")), ]
注意這個(gè)url可以是任何你想要的,但是必須導(dǎo)入 rest_framework.urls,并且 namespace必須為rest_framework。在django1.9+中,你可以不用設(shè)置namespace,rest_framework將會(huì)為你設(shè)置。
例子讓我們來(lái)看一個(gè)使用 REST framework構(gòu)建的簡(jiǎn)單的 model-backed API.
我們創(chuàng)建一個(gè) read-write API,來(lái)訪問(wèn)我們項(xiàng)目中用戶(hù)的信息。
REST framework API 所有的全局設(shè)置都放在 settings.py的 REST_FRAMEWORK字典中。
REST_FRAMEWORK = { # 使用django標(biāo)準(zhǔn)的 "django.contrib.auth"權(quán)限,未認(rèn)證的用戶(hù)只讀權(quán)限 "DEFAULT_PERMISSION_CLASSES": [ "rest_framework.premissions.DjangoModelPermissionOrAnonReadOnly" ] }
不要忘記將 rest_framework添加到你的INSTALLED_APPS中。
我們現(xiàn)在準(zhǔn)備創(chuàng)建我們的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 定義這個(gè)API的表現(xiàn) class UserSerializer(serializers.HyperlinkModelSerializer): class Meta: model = User fields = ("url","username","email","is_staff") #ViewSets定義這個(gè)API的行為 class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer #Routers提供了一種簡(jiǎn)單的方式來(lái)設(shè)置url router = routers.DefaultRouter() router.register(r"users",UserViewSet) #使用URL路由自動(dòng)連接我們的API #此外,我們還添加了一個(gè)可視化的Url urlpatterns = [ url("^",include(router.urls)), url("^api-auth/",include("rest_framework.urls"),namesapce="rest_framework"), ]
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/45448.html
摘要:本文主要是用來(lái)記錄自己學(xué)習(xí)的過(guò)程。其中可能會(huì)有很多自己的錯(cuò)誤理解。這里主要會(huì)用到的知識(shí)有百度百科阮一峰理解架構(gòu)其余請(qǐng)自行百度。所有的全局設(shè)置都放在的字典中。使用標(biāo)準(zhǔn)的權(quán)限,未認(rèn)證的用戶(hù)只讀權(quán)限不要忘記將添加到你的中。 本文主要是用來(lái)記錄自己學(xué)習(xí)django-rest-framework的過(guò)程。其中可能會(huì)有很多自己的錯(cuò)誤理解。 這里主要會(huì)用到的知識(shí)有 1. [django](https:...
摘要:本文主要是用來(lái)記錄自己學(xué)習(xí)的過(guò)程。其中可能會(huì)有很多自己的錯(cuò)誤理解。這里主要會(huì)用到的知識(shí)有百度百科阮一峰理解架構(gòu)其余請(qǐng)自行百度。所有的全局設(shè)置都放在的字典中。使用標(biāo)準(zhǔn)的權(quán)限,未認(rèn)證的用戶(hù)只讀權(quán)限不要忘記將添加到你的中。 本文主要是用來(lái)記錄自己學(xué)習(xí)django-rest-framework的過(guò)程。其中可能會(huì)有很多自己的錯(cuò)誤理解。 這里主要會(huì)用到的知識(shí)有 1. [django](https:...
摘要:測(cè)試這是一個(gè)測(cè)試鏈接。注意編寫(xiě)注釋是一個(gè)好的習(xí)慣。包括各個(gè)字段的驗(yàn)證標(biāo)記,例如。字段標(biāo)記也能夠控制在某些環(huán)境中如何顯示,例如呈現(xiàn)為之前的標(biāo)記相當(dāng)于中的。類(lèi)似于有和類(lèi),也包含和兩個(gè)類(lèi)。 Serialization——序列化 官網(wǎng)地址 前言 本教程將會(huì)介紹創(chuàng)建一個(gè)簡(jiǎn)單webAPI。在整個(gè)學(xué)習(xí)的過(guò)程中,將會(huì)逐一介紹到REST framework的各種組件,讓你全面的了解所有東西是如果組合在一...
摘要:測(cè)試這是一個(gè)測(cè)試鏈接。注意編寫(xiě)注釋是一個(gè)好的習(xí)慣。包括各個(gè)字段的驗(yàn)證標(biāo)記,例如。字段標(biāo)記也能夠控制在某些環(huán)境中如何顯示,例如呈現(xiàn)為之前的標(biāo)記相當(dāng)于中的。類(lèi)似于有和類(lèi),也包含和兩個(gè)類(lèi)。 Serialization——序列化 官網(wǎng)地址 前言 本教程將會(huì)介紹創(chuàng)建一個(gè)簡(jiǎn)單webAPI。在整個(gè)學(xué)習(xí)的過(guò)程中,將會(huì)逐一介紹到REST framework的各種組件,讓你全面的了解所有東西是如果組合在一...
摘要:測(cè)試這是一個(gè)測(cè)試鏈接。注意編寫(xiě)注釋是一個(gè)好的習(xí)慣。包括各個(gè)字段的驗(yàn)證標(biāo)記,例如。字段標(biāo)記也能夠控制在某些環(huán)境中如何顯示,例如呈現(xiàn)為之前的標(biāo)記相當(dāng)于中的。類(lèi)似于有和類(lèi),也包含和兩個(gè)類(lèi)。 Serialization——序列化 官網(wǎng)地址 前言 本教程將會(huì)介紹創(chuàng)建一個(gè)簡(jiǎn)單webAPI。在整個(gè)學(xué)習(xí)的過(guò)程中,將會(huì)逐一介紹到REST framework的各種組件,讓你全面的了解所有東西是如果組合在一...
閱讀 2745·2021-11-18 10:07
閱讀 1173·2021-08-03 14:04
閱讀 796·2019-08-30 13:08
閱讀 2653·2019-08-29 15:33
閱讀 1200·2019-08-29 14:07
閱讀 3166·2019-08-29 14:04
閱讀 1552·2019-08-29 11:19
閱讀 1228·2019-08-29 10:59