django-rest-swagger顯示接口備注內容

Swagger是一個API開發者的工具框架,用於生成、描述、調用和可視化RESTful風格的Web服務。總體目標是使客戶端和文件系統服務器以同樣的速度來更新,方法,參數和模型緊密集成到服務器端的代碼中,允許API始終保持同步。

在使用 django-rest-framework 進行API開發,可以使用django-rest-swagger接入swagger自動生成接口文檔。

1. 安裝django-rest-swagger

pip install django-rest-swagger

2.配置settings.py

INSTALLED_APPS = [...‘rest_framework_swagger‘...
]REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication',),'DEFAULT_SCHEMA_CLASS':'rest_framework.schemas.AutoSchema','DEFAULT_PARSER_CLASSES': ['rest_framework.parsers.FormParser','rest_framework.parsers.MultiPartParser','rest_framework.parsers.JSONParser',]
}

3. views.py

該博文的項目是django-rest-framework中文站點的例子:https://q1mi.github.io/Django-REST-framework-documentation

當需要對接口的各種方法進行註釋時,直接在該類下添加註釋,如下所示。需要註意是的:註釋的方法名稱(如 get、post)要對應該類所含的方法名稱

class SnippetList(generics.ListCreateAPIView):"""get:Return all snippets.post:Create a new snippet instance."""queryset = Snippet.objects.all()serializer_class = SnippetSerializerpermission_classes = (permissions.IsAuthenticatedOrReadOnly,)def perform_create(self, serializer):serializer.save(owner=self.request.user)class SnippetDetail(generics.RetrieveUpdateDestroyAPIView):"""get:Return a snippet instance.put:Update a snippet instance.patch:Update a snippet instance.delete:Delete a snippet instance."""queryset = Snippet.objects.all()serializer_class = SnippetSerializerpermission_classes = (permissions.IsAuthenticatedOrReadOnly, IsOwnerOrReadOnly,)class UserList(generics.ListAPIView):"""get:Return all users"""queryset = MyUser.objects.all()serializer_class = UserSerializerclass UserDetail(generics.RetrieveAPIView):"""get:Return a user instance"""queryset = MyUser.objects.all()serializer_class = UserSerializerclass SnippetHighlight(generics.GenericAPIView):"""get:Return a highlight instance"""queryset = Snippet.objects.all()renderer_classes = (renderers.StaticHTMLRenderer,)def get(self, request, *args, **kwargs):snippet = self.get_object()return Response(snippet.highlighted)

在使用ModelViewSet時,用get/post/patch/會存在問題

所以需要看其django-restful源碼,找到方法名:

class QR_result_table_ViewSet(viewsets.ModelViewSet):"""retrieve: Update a snippet instance.update:Update a snippet instance.partial_update:partial_update a snippet instance.destroy:Delete a snippet instance."""queryset = QR_result_table.objects.all()serializer_class = QR_result_table_Serializerpagination_class = ListPaginationfilter_backends = (filters.DjangoFilterBackend,)filter_class = QR_result_table_Filter

?

3.配置urls.py

from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPICodec
schema_view = get_schema_view(title=‘API‘, renderer_classes=[SwaggerUIRenderer, OpenAPICodec])urlpatterns = [...url(r‘docs/‘, schema_view, name=‘docs‘)...
]

?

運行manage.py後,瀏覽器訪問 http://127.0.0.1:8000/,可以看到以下內容:

技術分享圖片

訪問 http://127.0.0.1:8000/docs/,可以看到接口文檔如下:

技術分享圖片

?

點擊打開snippets,可以看到如下,每個方法後面都有你在views.py中添加的註釋

?

點擊打開get方法,如下

技術分享圖片

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455798.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455798.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455798.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安全和連接是IoT聯網設備2大挑戰

IoT正在推動500億個聯網設備在未來10年內從工業、零售、智能照明、智慧城市、汽車、農業、可穿戴設備、智能建筑、醫療市場涌現出來,ARM處理器部門市場營銷總監Ian Smythe表示:“到2020年,消費電子和健康、智慧城市和物流、汽車和運輸領域的I…

windows下部署免費ssl證書(letsencrypt)

隨著網絡的發展,網絡安全也越來越重要,對于網站來說,從Http升級到https也是我們要做的首要事情。要實現https,首先我們需要申請一張SSL證書,這篇文章我主要介紹下邊這幾個方面: 1. SSL簡單介紹 2. 免費Lete…

Django之URLconf路由

URLconf路由 一個干凈優雅的URL方案是高質量Web應用程序中的一個重要細節。 Django可以讓你設計URL,無論你想要什么,沒有框架限制。 要為應用程序設計URL,您可以非正式地創建一個名為URLconf(URL配置)的Python模塊。…

python中什么是關鍵字參數_如何使用python語言中函數的關鍵字參數的用法

一般情況下,在調用函數時,使用的是位置參數,即是按照參數的位置來傳值;關鍵字參數是按照定義函數傳入的參數名稱來傳值的。那么,關鍵字參數怎么使用?工具/原料 python pycharm 截圖工具 WPS 方法/步驟 1 打…

HTML塊級元素

在HTML5出現之前&#xff0c;人們一般把元素分為塊級、內聯和內聯塊元素。本文將詳細介紹HTML塊級元素h標題(Heading)元素有六個不同的級別&#xff0c;<h1>是最高級的&#xff0c;而<h6>則是最低的。一個標題元素能簡要描述該節的主題從<h1>到<h6>&am…

【SSL】HTTPS配置全過程

服務器配置https協議 HTTPS&#xff0c;是以安全為目標的HTTP通道&#xff0c;簡單講是HTTP的安全版。即HTTP下加入SSL層&#xff0c;HTTPS的安全基礎是SSL&#xff0c;因此加密的詳細內容就需要SSL。 配置HTTPS就需要證書&#xff0c;關于證書方面不做過多解釋&#xff0c;只…

iOS開發UI篇—懶載入

iOS開發UI篇—懶載入 1.懶載入基本 懶載入——也稱為延遲載入&#xff0c;即在須要的時候才載入&#xff08;效率低&#xff0c;占用內存小&#xff09;。所謂懶載入&#xff0c;寫的是其get方法. 注意&#xff1a;假設是懶載入的話則一定要注意先推斷是否已經有了。假設沒有那…

python之虛擬環境

Virtualenv(虛擬環境) VirtualEnv用于在一臺機器上創建多個獨立的Python虛擬運行環境&#xff0c;多個Python環境相互獨立&#xff0c;互不影響.這樣有很多優點,寶寶們要記住哦,比如: 在沒有權限的情況下安裝新套件 不同應用可以使用不同的套件版本 套件升級不影響其他應用 …

【解決】subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-zero exit status 127

pip list 報錯 Traceback (most recent call last):File "/home/sensetime/.pyenv/versions/3.6.5/bin/pip", line 11, in <module>sys.exit(main())File "/home/sensetime/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pip/_internal/cli/main.p…

輸出四位完全平方數_完全平方數中的規律

PS&#xff1a;很近之前自己收集的資料一個正整數如果是另一個整數的完全平方&#xff0c;那么我們就稱這個數為完全平方數&#xff0c;也叫做平方數。如&#xff1a;0&#xff0c;1&#xff0c;4&#xff0c;9&#xff0c;16&#xff0c;25&#xff0c;36&#xff0c;49&#…

RTP格式圖 NNEXB格式和RTP格式

Dove(12337127) 10:15:45我看JM代碼里面有些疑問 看好多地方都出現了ANNEXB 時空互換(178316135) 10:16:08h264的2種碼流編碼格式Dove(12337127) 10:16:19我就不太理解是什么意思 剛才翻標準看見了 剛準備認真看看 Dove(12337127) 10:16:29annexb rtp 是么&#x…

第一階段沖刺第二天

昨天把以前寫過的Java普通用戶類和訂單類看了看&#xff0c;添加了一些變量 看了一些其他網頁的代碼 今天繼續寫關于收藏部分的代碼 遇到的困難&#xff1a;還是沒有什么頭緒&#xff0c;做不到真正的實現轉載于:https://www.cnblogs.com/lzxw/p/6800311.html

為企業提供本地銷售人員的Universal Avenue獲1000萬美元A輪融資

為各類B2B企業提供本地銷售人員的瑞典初創企業Universal Avenue近日獲得了1000萬美元的A輪融資。此輪融資由Eight Roads&#xff08;富達國際的投資機構&#xff09;領投&#xff0c;原有投資者Northzone和MOOR跟投&#xff0c;加上2015年獲得的500萬美元種子輪融資&#xff0c…

Python02期預科課程筆記索引

Python index day01 Python簡介 Python發展歷程 Python安裝以及版本檢測PyCharm的安裝和破解 day02 Python注釋及語句分類 Python命令方式和關鍵字Python中的變量Python的數據類型PyCharm中的快捷鍵 day03 Python數據類型轉換Python中的運算和運算符Python流程控制 day0…

【Linux分享】Linux常用命令+教程分享

今天分享分為兩部分 :) PART01 Linux常用命令分享/ PART02 關于BD面試經驗分享 30mins Linux Command: PART 1 你本可以張口就來..... 本篇內容分享的宗旨: 拿下Linux面試 別面試的時候呆呆地說個ls了&#x1f691; 本篇分享詳細地介紹了常用Linux指令的功能、語法、參…

萬能無線鼠標對碼軟件_400元就能買ROG無線游戲鼠標,ROG影刃2無線版使用體驗...

影刃2是ROG剛剛推出的一款新產品&#xff0c;定位入門游戲玩家。目前市面上定位入門游戲玩家的無線鼠標真不多&#xff0c;400塊以內的預算想要選購一款合適的無線游戲鼠標&#xff0c;選擇其實非常有限。 就ROG產品線而言&#xff0c;烈刃2的價格到了700塊錢&#xff1b;羅技G…

[轉帖]H.264 RTP payload 格式(有效載荷)

1. 網絡抽象層單元類型 (NALU)NALU 頭由一個字節組成, 它的語法如下:---------------|0|1|2|3|4|5|6|7|--------|F|NRI| Type |---------------F: 1 個比特.forbidden_zero_bit. 在 H.264 規范中規定了這一位必須為 0.NRI: 2 個比特.nal_ref_idc. 取 00 ~ 11, 似乎指示這個 NAL…

wampserver 虛擬主機

轉載&#xff1a;http://blog.csdn.net/knight_quan/article/details/51830683 1.背景&#xff1a; 在進行網站開發的時候&#xff0c;通常需要以http://localhost或者127.0.0.1等地址來訪問本地環境的網站。不過隨著開發項目的增多&#xff0c;需要每次先訪問localhost然后再選…

PL/SQL的結構

2019獨角獸企業重金招聘Python工程師標準>>> [DECLARE] --聲明開始關鍵字/*這里是聲明部分,包括PL/SQL中的變量、常量以及類型第等*/BEGIN --執行部分開始標志/*這里是執行部分,是整個PL/SQL塊的主體部分,該部分必須存在,可以是SQL語句或流程控制語句等…

cf方框透視易語言代碼怎么寫_易語言真的那么不入流嗎?

很多人鄙視易語言&#xff0c;為什么那么多人一提易語言&#xff0c;除了罵&#xff0c;還是罵&#xff0c;易語言很大錯誤嗎&#xff1f;知乎上的大神們是這么說的一個語言的“入流”&#xff0c;和是不是英文關鍵字無關&#xff0c;而是和這種語言進入某一子行業的契機有關。…