乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      django rest framework構(gòu)建Web API之框架安裝篇

       看見就非常 2020-05-07

      django rest framework構(gòu)建Web API之框架安裝篇logo1.png

      1、背景簡介

      Django REST framework框架(簡稱DRF)是一個(gè)用于構(gòu)建Web API的強(qiáng)大而靈活的工具。我們?yōu)槭裁葱枰褂肦EST Framework框架呢?以下列出了一些原因:

      1
      2
      3
      4
      5
      6
      (1)基于Web可瀏覽的API能讓你贏得更多開發(fā)者
      (2)支持OAuth1a和OAuth2的認(rèn)證機(jī)制
      (3)Serialization序列化支持ORM和non-ORM的數(shù)據(jù)源
      (4)如果你不需要更為強(qiáng)大的功能,則你可以自定義只使用常規(guī)的函數(shù)功能視圖
      (5)大量的文檔,廣大的社區(qū)支持
      (6)得到去多大公司使用和信任,如Mozilla、Red Hat紅帽、Eventbrite等都在使用它

      2、環(huán)境要求

      1
      2
      Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6)
      Django (1.10, 1.11, 2.0)

      以下是DRF的可選安裝包:

      1
      2
      3
      4
      5
      coreapi (1.32.0+) - 支持模式(概要視圖)生成
      Markdown (2.1.0+) -  Markdown 支持可瀏覽的API
      django-filter (1.0.1+) - 支持過濾
      django-crispy-forms - 改進(jìn)的HTML顯示過濾
      django-guardian (1.1.1+) - 支持對象級權(quán)限控制

      3、安裝配置(以下已經(jīng)安裝了django2.0和python3.6為例)

      (1)安裝djangorestframework以及自己選擇的可選安裝包

      1
      2
      3
      4
      5
      6
      pip install djangorestframework
      pip install coreapi   #可選
      pip install markdown #可選
      pip install django-filter #可選
      pip install django-crispy-forms  #此安裝包在安裝xadmin的時(shí)候也依賴此包
      pip install django-guardian #可選

      (2)新建django項(xiàng)目和app并初始化數(shù)據(jù)庫并創(chuàng)建管理員

      1
      2
      3
      4
      5
      6
      django-admin startproject lybbndrfs
      cd lybbndfrs
      python manage.py startapp lydrf
      python manage.py makemigrations
      python manage.py migrate
      python manage.py createsuperuser

      (3)在django項(xiàng)目的settings.py的INSTALLED_APPS中添加rest_framework和app應(yīng)用lydrf

      1
      2
      3
      4
      5
      INSTALLED_APPS = (
          ...
          'lydrf',
          'rest_framework',
      )

      (4)在django的app中新建serializers.py文件并設(shè)置如下內(nèi)容

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      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.HyperlinkedModelSerializer):
          class Meta:
              model = Group
              fields = ('url', 'name')

      (5)在django的app的views.py文件中設(shè)置如下內(nèi)容

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      from django.contrib.auth.models import User, Group
      from rest_framework import viewsets
      from lydrf.serializers import UserSerializer, GroupSerializer
      class UserViewSet(viewsets.ModelViewSet):
          """
          API endpoint that allows users to be viewed or edited.
          """
          queryset = User.objects.all().order_by('-date_joined')
          serializer_class = UserSerializer
      class GroupViewSet(viewsets.ModelViewSet):
          """
          API endpoint that allows groups to be viewed or edited.
          """
          queryset = Group.objects.all()
          serializer_class = GroupSerializer

      (6)在django項(xiàng)目的urls.py中添加djangorestframework的可訪問的url路徑

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      from django.conf.urls import url, include
      from rest_framework import routers
      from lydrf import views
      router = routers.DefaultRouter()
      router.register(r'users', views.UserViewSet)
      router.register(r'groups', views.GroupViewSet)
      # Wire up our API using automatic URL routing.
      # Additionally, we include login URLs for the browsable API.
      urlpatterns = [
          url(r'^', include(router.urls)),
          url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
      ]

      (7)運(yùn)行django項(xiàng)目

      1
      python manage.py runserver

      (8)通過瀏覽器訪問http://127.0.0.1:8000,可以看到剛剛添加的兩個(gè)視圖函數(shù)和urls

      django rest framework構(gòu)建Web API之框架安裝篇01.png

      4、官方網(wǎng)址

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多