django restframework 快速入門

2022-03-29 19:42:27 字數 2660 閱讀 6961

django restframework 快速入門

建立 models

依靠 serialiers 將資料庫取出的資料 parse 為 api 的資料(可用於返回給客戶端,也可用於瀏覽器顯示)

viewset 是乙個 views 的集合,根據客戶端的請求(get、post等),返回 serialiers 處理的資料 許可權 premissions 也在這一步做處理

viewset 可在 routers 進行註冊,註冊後會顯示在 api root 頁上

在 urls 裡註冊 viewset 生成的 view,指定監聽的 url

pip install django

pip install djangorestframework

django-admin.py startproject tutorial .  # note the trailing '.' character

cd tutorial

使用pycharm的話這些命令都是不用手動去敲的,但是你要會這些知識

python manage.py migrate

python manage.py createsuperuser --email [email protected] --username admin

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')

顯示超連線,繼承serializers.hyperlinkedmodelserializer,model那個表,fields是要序列那些字段

from django.contrib.auth.models import user, group

from rest_framework import viewsets

from tutorial.quickstart.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

from django.conf.urls import url, include

from rest_framework import routers

from tutorial.quickstart import views

# 下面是自動配置urls

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'))

...

'rest_framework',

)

python manage.py runserver
瀏覽器訪問

django rest framework許可權控制

暴露唯讀的介面 支援get head options方法,禁用前端更改資料from rest framework import permissions 引入許可權模組 safe methods get head options class readonly permissions.basepermi...

Django REST framework快速入門

django rest framework快速入門 一.django rest framework簡介 1.在開發rest api的檢視中,雖然每個檢視具體操作的資料不同,但增 刪 改 查的實現流程基本套路化,所以這部分 也是可以復用簡化編寫的 增 校驗請求資料 執行反序列化過程 儲存資料庫 將儲存...

django rest framework快取應用

在我們web製作過程中進場使用到快取技術,那麼今天python中的一種簡單便捷的快取技術與大家分享 以下是在省 市 區 聯動的位址查詢做的快取處理 使用快取 省市區的資料是經常被使用者查詢使用的,而且資料基本不變化,所以我們可以將省市區資料進行快取處理,減少資料庫的查詢次數。在django rest...