Django Rest framework使用例項

2021-09-11 15:10:15 字數 2562 閱讀 6745

一、修改配置檔案

setting.py:

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework',

'corsheaders',

'api']

2、新增rest_framework的全域性配置。

rest_framework =
3、配置解決跨域問題。

)二、定義路由

views.depview.as_view()),注意:rest url的寫法view.檢視名稱.as_view()

三、定義序列化類物件。

serializer.py:

class comserializer(serializers.modelserializer):    # 繼承modelserializer序列化模型類

class meta:

model = models.company # 序列化的模型類物件

# fields = ['id', 'name', 'phone', 'email'] # 定義需要序列的引數(方法一)

# fields = "__all__" # 序列化所有引數(方法二)

exclude=['addr'] # 序列化所有引數,排除本引數(方法三)

depth = 1 # 關聯外來鍵的深度

四、定義分頁的配置。

method.py:

class pagenumber(pagenumberpagination):

page_size = 5 # 分頁的條數

page_size_query_param = 'size' # 分頁的引數命名

max_page_size = 5

page_query_param = 'page' # 分頁的引數命名

五、定義檢視函式。

views.py:

class comview(modelviewset):

"""公司檢視"""

queryset = models.company.objects.all() # 關聯的模型類

serializer_class = comserializer # 序列化函式

pagination_class = pagenumber() # 分頁函式

def list(self, request, *args, **kwargs):

"""獲取公司列表資訊

"""# 獲取的資料分頁處理

pager_com = self.pagination_class.paginate_queryset(queryset=self.queryset,

request=request, view=self)

# 序列化分頁後的資料(若序列化單條資料,many=false)

ser = self.serializer_class(instance=pager_com, many=true)

# 返回分頁後的序列化物件

return self.pagination_class.get_paginated_response(ser.data)

、瀏覽資料。

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...