溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django rest framework的示例分析

發布時間:2021-08-25 14:04:33 來源:億速云 閱讀:158 作者:小新 欄目:開發技術

小編給大家分享一下Django rest framework的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下。

Django REST框架是構建Web API的強大而靈活的工具包。

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

  • Web瀏覽的API是您的開發人員的巨大的可用性勝利。

  • 驗證策略包括OAuth2a和OAuth3的包。

  • 支持ORM和非ORM數據源的序列化。

  • 如果不需要功能更強大的功能,可以自定義一切 - 只需使用基于功能的常規視圖。

  • 廣泛的文檔和極好的社區支持。

  • 由Mozilla,Red Hat,Heroku和Eventbrite等國際知名公司使用和信賴。

Requirements

REST框架需要以下內容:

  • 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+) - 對象級權限支持。

Installation

Install using pip, including any optional packages you want…

pip install djangorestframework
pip 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框架的登錄和注銷視圖。 將以下內容添加到您的根urls.py文件中。

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

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

Example

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

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

REST框架API的任何全局設置都保存在名為REST_FRAMEWORK的單個配置字典中。 首先將以下內容添加到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。

我們已經準備好創建我們的API了。 這是我們項目的根urls.py模塊:

from django.conf.urls import url, include
from django.contrib.auth.models import User
from 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)

#使用自動網址路由連接我們的API。
# 另外,我們還包括可瀏覽的API的登錄URL。
urlpatterns = [
  url(r'^', include(router.urls)),
  url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))

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

以上是“Django rest framework的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女