Django前後端分離のREST framework初試験


これまでdjangoを習ったばかりの頃、静的リソースとインタフェースの分離方法を無理に使っていたが、実際の使用では不便になるに違いない.そこで,前後端分離のためにバックグラウンドAPIを記述するREST frameworkフレームワークが見つかった.ここで初歩的な試みをする公式文書は非常に入門しているように見えますが、今回の実践は主に公式文書の手順に基づいて初歩的な実践を行い、その中に自分が勉強したときに理解した注釈を加えて、翻訳が正しいことを保証することはできません.すべての参考リンクは文末に置きましょう. ! ! 公式文書アドレス先置き:http://www.django-rest-framew...
一、プロジェクトのインストール
まずdjangoとdjangorestframeworkのインストール
pip install django
pip install djangorestframework

多くの人がインストールすべきでしょう
公式サイトdemoによるアプリのインストール
django-admin.py startproject tutorial
django-admin.py startapp quickstart

次に、データベースの移行
python manage.py migrate

次に、管理者ページとユーザーを作成します.
python manage.py createsuperuser --email [email protected] --username admin

二、Serializer(シーケンサ)配置
いくつかの構成を定義し、次のコードを記述するtutorial/quickstart/serializers.pyモジュールを作成する
from django.contrib.auth.models import User, Group #  django      User   Group  
from rest_framework import serializers #  rest framework serializers

class UserSerializer(serializers.HyperlinkedModelSerializer): #          
    class Meta:
        model = User #  User model
        fields = ('url', 'username', 'email', 'groups') #    

class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group  #  Group model
        fields = ('url', 'name')

三、ビュー構成tutorial/quickstart/views.py次のコードを作成します(renderはコメントできますか?)
#from django.shortcuts import render
from django.contrib.auth.models import User, Group #  model
from rest_framework import viewsets #  viewsets,  controllers
# from tutorial.quickstart.serializers import UserSerializer, GroupSerializer         ,  
from quickstart.serializers import UserSerializer, GroupSerializer #           

# Create your views here.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all().order_by('-date_joined') #  
    serializer_class = UserSerializer  #   

class GroupViewSet(viewsets.ModelViewSet):
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

四、URLtutorial/urls.pyURL作成
from django.contrib import admin
from django.urls import path, re_path
#rest
from django.conf.urls import url, include
from rest_framework import routers
# from tutorial.quickstart import views          ,  
from quickstart import views
router = routers.DefaultRouter() #  
router.register(r'users', views.UserViewSet) #         
router.register(r'groups', views.GroupViewSet)

# :path    ,url    ,      ,   re_path
urlpatterns = [
    path('admin/', admin.site.urls),
    #rest
    re_path(r'^', include(router.urls)), #        url
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) #         
]

五、設定tutorial/settings.py下取付け
INSTALLED_APPS = (
    ...
    'rest_framework',
)

六、ブラウザテストを開く
python manage.py runserver

サーバー起動後ブラウザ入力http://127.0.0.1:8000インタフェーステストページへ
右上隅でログインをクリックしてください
七、参考リンク
djangoユーザ認証メカニズム:https://docs.djangoproject.co...Serializerとは何か:http://www.django-rest-framew...Serializer relationsとは何か:http://www.django-rest-framew...viewsetsとは何か:http://www.django-rest-framew...urlとre_path中rとは何か:https://www.cnblogs.com/xuchu...urlとpathの違い:https://blog.csdn.net/endless...