愚公系列2022年04月 Python教學課程 63-DRF框架安裝與配置

      網友投稿 728 2022-05-30

      前言

      Django REST框架是一個強大而靈活的工具包,用于構建Web API。

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

      Web 可瀏覽 API 對您的開發人員來說是一個巨大的可用性勝利。

      身份驗證策略,包括 OAuth1a 和 OAuth2 的程序包。

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

      可一直向下自定義 - 如果您不需要更強大 的功能,只需使用常規的基于函數的視圖即可。

      廣泛的文檔和強大的社區支持。

      被國際知名公司使用和信任,包括Mozilla,Red Hat,Heroku和Eventbrite。

      一、環境安裝與配置

      REST 框架需要滿足以下條件:

      Python (3.6, 3.7, 3.8, 3.9, 3.10)

      【愚公系列】2022年04月 Python教學課程 63-DRF框架安裝與配置

      Django (2.2, 3.0, 3.1, 3.2, 4.0)

      我們強烈推薦并僅正式支持每個Python和Django系列的最新補丁版本。

      以下軟件包是可選的:

      PyYAML, uritemplate (5.1+, 3.0.0+) - 架構生成支持。

      Markdown (3.0.0+) - 對可瀏覽 API 的 Markdown 支持。

      Pygments (2.4.0+) - 為 Markdown 處理添加語法突出顯示。

      django-filter (1.0.1+) - 過濾支持。

      django-guardian (1.1.1+) - 對象級權限支持。

      二、安裝

      安裝使用 ,包括所需的任何可選包…pip

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

      或從 github 克隆項目:git clone https://github.com/encode/django-rest-framework

      我們利用在Django框架學習中創建的demo工程,在settings.py的INSTALLED_APPS中添加’rest_framework’。

      INSTALLED_APPS = [ ... 'rest_framework', ]

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

      urlpatterns = [ ... path('api-auth/', include('rest_framework.urls')) ]

      請注意,URL 路徑可以是您想要的任何路徑。

      三、案例

      1.settings.py配置

      INSTALLED_APPS = [ ... 'rest_framework', ] 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' ] }

      2.urls.py使用

      from django.urls import path, include from django.contrib.auth.models import User from rest_framework import routers, serializers, viewsets # Serializers define the API representation. class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ['url', 'username', 'email', 'is_staff'] # ViewSets define the view behavior. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer # Routers provide an easy way of automatically determining the URL conf. router = routers.DefaultRouter() router.register(r'users', UserViewSet) # Wire up our API using automatic URL routing. # Additionally, we include login URLs for the browsable API. urlpatterns = [ path('', include(router.urls)), path('api-auth/', include('rest_framework.urls', namespace='rest_framework')) ]

      5G教育 Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:postman系列之入門指南和常用技巧整理
      下一篇:header中Content-Disposition的作用
      相關文章
      亚洲一区二区免费视频| 亚洲人成在线影院| 亚洲综合精品第一页| 亚洲第一永久在线观看| 亚洲精品综合一二三区在线| 国产成人亚洲综合无码精品| 国产亚洲精品自在久久| 亚洲乱码日产一区三区| 人人狠狠综合久久亚洲婷婷| 国产亚洲人成无码网在线观看| 亚洲gv白嫩小受在线观看| 久久久久久亚洲av成人无码国产| 亚洲AV永久无码精品| 亚洲欧洲国产日韩精品| 久久亚洲sm情趣捆绑调教| 91嫩草亚洲精品| 7777久久亚洲中文字幕| 亚洲色成人WWW永久在线观看| 亚洲精品无码av中文字幕| 亚洲av无码一区二区三区人妖| 欧美亚洲精品一区二区| www亚洲精品少妇裸乳一区二区| 亚洲国产香蕉人人爽成AV片久久| 亚洲人午夜射精精品日韩| 自拍偷自拍亚洲精品第1页| 久久亚洲国产精品一区二区| 亚洲AV日韩AV永久无码下载| 中文字幕亚洲精品资源网| 亚洲另类图片另类电影| 中国亚洲呦女专区| 亚洲a∨无码精品色午夜| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲另类激情综合偷自拍图| 亚洲欧洲日产国码久在线观看| 麻豆亚洲av熟女国产一区二| 亚洲国产成人手机在线电影bd| 亚洲人成www在线播放| 国产成人精品久久亚洲高清不卡 | 亚洲国产精品国自产电影| 亚洲精品国产啊女成拍色拍| 精品国产成人亚洲午夜福利|