国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django rest framework基本介紹與代碼示例

2020-01-04 16:08:29
字體:
供稿:網(wǎng)友

本文研究的主要是Django rest framework的相關(guān)內(nèi)容,分享了example,具體如下。

Django REST框架是構(gòu)建Web API的強大而靈活的工具包。

您可能希望使用REST框架的一些原因:

  • Web瀏覽的API是您的開發(fā)人員的巨大的可用性勝利。
  • 驗證策略包括OAuth1a和OAuth2的包。
  • 支持ORM和非ORM數(shù)據(jù)源的序列化。
  • 如果不需要功能更強大的功能,可以自定義一切 - 只需使用基于功能的常規(guī)視圖。
  • 廣泛的文檔和極好的社區(qū)支持。
  • 由Mozilla,Red Hat,Heroku和Eventbrite等國際知名公司使用和信賴。

Requirements

REST框架需要以下內(nèi)容:

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

以下軟件包是可選的:

  • coreapi(1.32.0+) - 支持模式生成。
  • Markdown(2.1.0+) - 可瀏覽API的Markdown支持。
  • django-filter(1.0.1+) - 過濾支持。
  • django-crispy-forms - 改進的HTML顯示過濾。
  • django-guardian(1.1.1+) - 對象級權(quán)限支持。

Installation

Install using pip, including any optional packages you want…

pip install djangorestframeworkpip install markdown    # Markdown support for the browsable API.pip install django-filter # Filtering support

Add'rest_framework'to your INSTALLED_APPS setting.

INSTALLED_APPS = (  ...  'rest_framework',)

如果您打算使用可瀏覽的API,您可能還需要添加REST框架的登錄和注銷視圖。 將以下內(nèi)容添加到您的根urls.py文件中。

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

請注意,URL路徑可以是任何您想要的,但您必須在rest_framework的命名空間中包含“rest_framework.urls”。 您可以在Django 1.9+中省略命名空間,REST框架將為您設(shè)置。

Example

我們來看一下使用REST框架構(gòu)建一個簡單的模型支持的API的一個簡單例子。

我們將創(chuàng)建一個讀寫API來訪問我們項目用戶的信息。

REST框架API的任何全局設(shè)置都保存在名為REST_FRAMEWORK的單個配置字典中。 首先將以下內(nèi)容添加到settings.py模塊中:

REST_FRAMEWORK = {  # Use Django's standard `django.contrib.auth` permissions,  # or allow read-only access for unauthenticated users.  'DEFAULT_PERMISSION_CLASSES': [    'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'  ]}

不要忘了確保你還在你的INSTALLED_APPS中添加了rest_framework。

我們已經(jīng)準(zhǔn)備好創(chuàng)建我們的API了。 這是我們項目的根urls.py模塊:

from django.conf.urls import url, includefrom django.contrib.auth.models import Userfrom rest_framework import routers, serializers, viewsets#Serializers定義API表示。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 conf的簡單方法。router = routers.DefaultRouter()router.register(r'users', UserViewSet)#使用自動網(wǎng)址路由連接我們的API。# 另外,我們還包括可瀏覽的API的登錄URL。urlpatterns = [  url(r'^', include(router.urls)),  url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))

您現(xiàn)在可以在http://127.0.0.1:8000/瀏覽器中打開該API,并查看新的“用戶”API。 如果您使用右上角的登錄控件,您還可以從系統(tǒng)添加,創(chuàng)建和刪除用戶。

總結(jié)

以上就是本文關(guān)于Django rest framework基本介紹的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 马龙县| 怀仁县| 铜梁县| 石屏县| 容城县| 青铜峡市| 长寿区| 连平县| 临夏市| 盐城市| 抚远县| 青州市| 馆陶县| 柳河县| 南京市| 万荣县| 吴旗县| 岱山县| 赤城县| 若尔盖县| 奉新县| 台中市| 娄底市| 白水县| 西乌珠穆沁旗| 汶川县| 平塘县| 阳城县| 班玛县| 新闻| 泾川县| 德令哈市| 琼结县| 清镇市| 沈阳市| 福清市| 建瓯市| 沈阳市| 邢台县| 八宿县| 建平县|