摘要:我們將會創(chuàng)建一個簡單的,來讓管理員能夠查看和編輯和。我們將會在接下來的例子中使用這個賬戶。創(chuàng)建一個新的模塊叫。但是是一個好的設(shè)計(jì)。最后,我們使用來導(dǎo)入默認(rèn)的登錄登出這是可選的。我們想啟用分頁和只有用戶能夠調(diào)用。
Quickstart
我們將會創(chuàng)建一個簡單的API,來讓管理員能夠查看和編輯Users和Groups。
項(xiàng)目開始創(chuàng)建一個新的項(xiàng)目叫 tutorial,然后創(chuàng)建一個app叫quickstart.
# 創(chuàng)建項(xiàng)目目錄 mkdir tutorial cd tutorial # 創(chuàng)建虛擬環(huán)境,并進(jìn)入虛擬環(huán)境中 virtualenv env source env/bin/activate # 安裝django 和 REST framework pip install django pip install djangorestframework # 創(chuàng)建項(xiàng)目和app django-admin.py startproject tutorial cd tutorial django-admin.py startapp quickstart cd ..
創(chuàng)建數(shù)據(jù)庫:
python manage.py migrate
創(chuàng)建一個超級用戶admin,密碼是password123。我們將會在接下來的例子中使用這個賬戶。
python manage.py createsuperuser
首先,我們將去定義一些serializer。創(chuàng)建一個新的模塊叫 tutorual/quickstart/serializers.py。
from django.contrib.auth.models import User, Group from rest_framework import serializers class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ("url","username","email","groups") class GroupSerializer(serializers.HyperlinkModelSerializer): class Meta: model = Group fields = ("url","name")
注意 這里我們使用 hyperlinked(HyperlinkedModelSerializer)。你也可以使用primary key和各式各樣其他的關(guān)系。但是 hyperlinking是一個好的RESTful設(shè)計(jì)。
Views馬上,我們將寫一些views.打開 tutorial/quickstart/views.py
from django.contrib.auth.models import User, Group from rest_framework import viewsets from tutorial.quickstart.serializers import UserSerializer, GroupSerializer class UserViewSet(Viewsets.ModelViewSet): """ API允許查看和編輯 用戶 """ queryset = User.object.all().order_by("-data_joined") serializer_class = UserSerializer class GroupViewSet(Viewsets.ModelViewSet): """ API允許查看和編輯 組 """ queryset = Group.objects.all() serializer_class = GroupSerializer
將有共同行為的各式各樣的View歸為一類并稱之為 ViewSets
如果我們需要,我們可以輕易的拆分這些View,但是使用 viewsets將會使View邏輯看起來更加整潔和有組織性。
現(xiàn)在,我們來寫我們的API URLs.在 tutorual/urls.py
from django.conf.urls import url, include from rest_framework import routers from tutorial.quickstart import views router = routers.DefaultRouter() router.register(r"users", views.UserViewSet) router.register(r"groups", views.GroupViewSet) urlpatterns = [ url(r"^", include(router.urls)), url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")) ]
因?yàn)槲覀兪褂昧藇iewsets來替代views,我們能夠自動產(chǎn)生我們API的URL,只要在router中簡單的注冊一下我們的viewsets。
同樣,如果我們需要更多的控制我們的API URLs,我們能夠在簡單的在下面使用常規(guī)的 class-based views,并寫入url conf中。
最后,我們使用 browsable API來導(dǎo)入默認(rèn)的登錄登出Views.這是可選的。
我們還需要設(shè)置一些全局變量。我們想啟用分頁和API只有Admin用戶能夠調(diào)用。這些設(shè)置都在 tutorial/settings.py中:
INSTALLED_APPS = ( ... "rest_framework", ) REST_FRAMEWORK = { "DEFAULT_PERMISSION_CLASSES": [ "rest_framework.permissions.IsAdminUser", ], "PAGE_SIZE": 10 }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/45450.html
摘要:我們將會創(chuàng)建一個簡單的,來讓管理員能夠查看和編輯和。我們將會在接下來的例子中使用這個賬戶。創(chuàng)建一個新的模塊叫。但是是一個好的設(shè)計(jì)。最后,我們使用來導(dǎo)入默認(rèn)的登錄登出這是可選的。我們想啟用分頁和只有用戶能夠調(diào)用。 Quickstart 我們將會創(chuàng)建一個簡單的API,來讓管理員能夠查看和編輯Users和Groups。 項(xiàng)目開始 創(chuàng)建一個新的項(xiàng)目叫 tutorial,然后創(chuàng)建一個app叫qu...
摘要:我們將會創(chuàng)建一個簡單的,來讓管理員能夠查看和編輯和。我們將會在接下來的例子中使用這個賬戶。創(chuàng)建一個新的模塊叫。但是是一個好的設(shè)計(jì)。最后,我們使用來導(dǎo)入默認(rèn)的登錄登出這是可選的。我們想啟用分頁和只有用戶能夠調(diào)用。 Quickstart 我們將會創(chuàng)建一個簡單的API,來讓管理員能夠查看和編輯Users和Groups。 項(xiàng)目開始 創(chuàng)建一個新的項(xiàng)目叫 tutorial,然后創(chuàng)建一個app叫qu...
摘要:測試這是一個測試鏈接。注意編寫注釋是一個好的習(xí)慣。包括各個字段的驗(yàn)證標(biāo)記,例如。字段標(biāo)記也能夠控制在某些環(huán)境中如何顯示,例如呈現(xiàn)為之前的標(biāo)記相當(dāng)于中的。類似于有和類,也包含和兩個類。 Serialization——序列化 官網(wǎng)地址 前言 本教程將會介紹創(chuàng)建一個簡單webAPI。在整個學(xué)習(xí)的過程中,將會逐一介紹到REST framework的各種組件,讓你全面的了解所有東西是如果組合在一...
摘要:測試這是一個測試鏈接。注意編寫注釋是一個好的習(xí)慣。包括各個字段的驗(yàn)證標(biāo)記,例如。字段標(biāo)記也能夠控制在某些環(huán)境中如何顯示,例如呈現(xiàn)為之前的標(biāo)記相當(dāng)于中的。類似于有和類,也包含和兩個類。 Serialization——序列化 官網(wǎng)地址 前言 本教程將會介紹創(chuàng)建一個簡單webAPI。在整個學(xué)習(xí)的過程中,將會逐一介紹到REST framework的各種組件,讓你全面的了解所有東西是如果組合在一...
摘要:測試這是一個測試鏈接。注意編寫注釋是一個好的習(xí)慣。包括各個字段的驗(yàn)證標(biāo)記,例如。字段標(biāo)記也能夠控制在某些環(huán)境中如何顯示,例如呈現(xiàn)為之前的標(biāo)記相當(dāng)于中的。類似于有和類,也包含和兩個類。 Serialization——序列化 官網(wǎng)地址 前言 本教程將會介紹創(chuàng)建一個簡單webAPI。在整個學(xué)習(xí)的過程中,將會逐一介紹到REST framework的各種組件,讓你全面的了解所有東西是如果組合在一...
閱讀 2078·2023-04-25 17:57
閱讀 1284·2021-11-24 09:39
閱讀 2482·2019-08-29 16:39
閱讀 3312·2019-08-29 13:44
閱讀 3117·2019-08-29 13:14
閱讀 2313·2019-08-26 11:36
閱讀 3810·2019-08-26 11:00
閱讀 948·2019-08-26 10:14