drf 自動生成介面文件

2022-07-11 21:00:16 字數 2232 閱讀 7140

rest framewor可以自動幫助我們生成介面文件

介面文件以網頁的方式呈現

自動介面文件能生成的是繼承自apiview及其子類的檢視

rest framewrok生成介面文件需要coreapi庫的支援。

pip install coreapi
在總路由中新增介面路徑

文件路由對應的檢視配置為rest_framework.documentation.include_docs_urls

引數title為介面文件**的標題

from rest_framework.documentation import include_docs_urls

urlpatterns = [

...path('docs/', include_docs_urls(title='站點頁面標題'))

]

1) 單一方法的檢視,可直接使用類檢視的文件字串,如
class booklistview(generics.listapiview):

"""返回所有圖書資訊.

"""

2) 包含多個方法的檢視,在類檢視的文件字串中,分開方法定義,如
class booklistcreateview(generics.listcreateapiview):

"""get:

返回所有圖書資訊.

post:

新建圖書.

"""

3) 對於檢視集viewset,仍在類檢視的文件字串中封開定義,但是應使用action名稱區分,如
class publishinfo(modelviewset):

'''list: 出版社列表

create: 建立出版社

retrieve: 出版社詳情

update: 更新出版社

delete: 刪除出版社

'''

瀏覽器訪問 127.0.0.1:8000/docs/,即可看到自動生成的介面文件。

如果遇到報錯

#attributeerror: 'autoschema' object has no attribute 'get_link'

rest_framework =

兩點說明

class student(models.model):

...age = models.integerfield(default=0, verbose_name='年齡', help_text='年齡')

...

class studentserializer(serializers.modelserializer):

class meta:

model = student

fields = "__all__"

extra_kwargs =

}

1 以後都使用自己封裝的response

class apiresponse(response):

def __init__(self, code=100, msg='成功', data=none, status=none, headers=none, content_type=none, **kwargs):

dic =

if data:

dic['data'] = data

dic.update(kwargs) # 這裡使用update

super().__init__(data=dic, status=status,

# 重寫了父類的例項化引數,讓他的值與子類一樣

template_name=none, headers=headers,

exception=false, content_type=content_type)

2 使用:

return apiresponse(code=100,msg='查詢成功',data=ser.data,count=200,next='')

drf 自動生成介面文件

1借助於第三方 coreapi,swagger 先安裝好這兩個模組 2在路由中 此處省略了自動生成的students路由 path docs include docs urls title 圖書管理系統api path books views.booklistcreateview.as view 3...

DRF 自動生成介面文件

rest framework可以自動幫助我們生成介面文件。介面文件以網頁的方式呈現。自動介面文件能生成的是繼承自apiview及其子類的檢視。rest framewrok生成介面文件需要coreapi庫的支援 pip install coreapi 在總路由中新增介面文件路徑。文件路由對應的檢視配置...

drf自動生成介面文件

目錄rest framework可以自動幫助我們生成介面文件。介面文件以網頁的方式呈現。自動介面文件能生成的是繼承自apiview及其子類的檢視。rest framewrok生成介面文件需要coreapi庫的支援。pip install coreapi在總路由中新增介面文件路徑。文件路由對應的檢視配...