-
serializers 序列化
查看全部 -
20 個(gè)模塊?
查看全部 -
BrowsableAPIRenderer
https://www.django-rest-framework.org/topics/browsable-api/#the-browsable-api
http://idcbgp.cn/video/22363
查看全部 -
$?python?manage.py?createsuperuser
查看全部 -
$?python?manage.py?makemigrations $?python?manage.py?migrate
查看全部 -
os.pardir ?
查看全部 -
os.pathdir ?
查看全部 -
views 返回 HTML,全棧開發(fā), PHP / JAVA
查看全部 -
$?python3?manage.py?runserver?0.0.0.0:8080
查看全部 -
?Restful API 規(guī)范
查看全部 -
RESTFUL 最佳實(shí)踐維度:
查看全部 -
序列化-視圖集-路由-認(rèn)證-僅限查看全部
-
python manage.py migrate
查看全部 -
python manage.py makemigrations
查看全部 -
here,?https://github.com/liaogx/drf-tutorial
查看全部 -
http://github.com/liaogx/drf-tutorial
查看全部 -
DRF提供了幾種permission level:
如何在API level提供非全局的權(quán)限控制?
類view:
然而上面還是不夠的,不能提供基于業(yè)務(wù)的精細(xì)化的權(quán)限控制。比如老師只能修改自己的課程信息,不能修改不是自己的課程的信息。
本節(jié)后半段提供的是如何基于業(yè)務(wù)需要,自定義權(quán)限。從6:03開始的內(nèi)容開始看
查看全部 -
Token Authentication
需要在setting的installed 里添加'rest_framework.authtoken',
這節(jié)就看看就好了。有些細(xì)節(jié)我覺得要看源碼才能懂。而且正常也是用jwt,不用這個(gè)了。通過這種方式,認(rèn)證成功的話,request.user 還是django的user,
request.auth就變成了rest_framework.authtoken.models.Token
如果認(rèn)證失敗,resp的header會(huì)多一個(gè)www-authenticate的field,成功是沒這個(gè)fIeld的
如何對(duì)不同的view提供不同的認(rèn)證方式?而不是所有api的view都用同一個(gè)認(rèn)證方式呢?
function view:
用@authentication_classes()
class view/viewset:
用 class property
authentication_classses = (a,,b,c)
查看全部 -
auth: 登錄的用戶能訪問哪些資源,API
authen: 對(duì)登錄中的用戶身份進(jìn)行認(rèn)證
認(rèn)證機(jī)制依賴于django.contrib.auth
Django會(huì)按上面的列表順序逐個(gè)嘗試,并使用第一個(gè)成功通過的認(rèn)證
Basic: 密碼認(rèn)證。不建議用于Producrion。前端要用戶輸入密碼后,會(huì)在header里加一個(gè)authorizaion field, 內(nèi)容是一個(gè)bas64 加密的hash value 但是base 64可以被解密。所以不安全。
使用Basic認(rèn)證的話,如果通過了。會(huì)把下面的self.request.user設(shè)置成 contrib.auth.models.User
self.request.auth 設(shè)置為none
如何認(rèn)證失敗。會(huì)在response的header里多一個(gè) WWW-authenticate的field? 這個(gè)就是個(gè)規(guī)律。方便你debug
Session認(rèn)證:
如果是post,put, 需要提供CSRF token。
認(rèn)證通過的話,如果通過了。會(huì)把下面的self.request.user設(shè)置成 contrib.auth.models.User
self.request.auth 設(shè)置為none。
認(rèn)證失敗的話會(huì)響應(yīng)403 forbidden,但是response的header里不會(huì)多額外信息
查看全部 -
通用類視圖簡(jiǎn)化了自己的代碼。但是我覺得會(huì)讓人覺得不清晰。因?yàn)閔ide details.
查看全部 -
這節(jié)談了到底該如何選擇view的寫法,func, class, or generics, viewsets
還有下面這些內(nèi)容沒有講:
DRF的運(yùn)行機(jī)制,限流,緩存
查看全部 -
這節(jié)回頭再來看看。就是講解了怎么用那個(gè)api doc
查看全部 -
本文demo了Postman里怎么用各種author。介紹了api key的形式和輸入密碼的形式。
還demo了collection的含義,查看History, 如何保存某個(gè)request,如何添加request 到某個(gè)collections
collections右鍵里可以設(shè)置這個(gè)collections的全局的authorization信息。這樣就不用一個(gè)個(gè)copy token
查看全部 -
drf的序列化器和django自帶的有什么不同呢?
drf自帶的缺點(diǎn)是:
缺乏前端json數(shù)據(jù)的驗(yàn)證處理
驗(yàn)證器的參數(shù)
同時(shí)序列化多個(gè)對(duì)象
序列化過程中添加上下文,比如添加queryset中沒有的數(shù)據(jù)到最后想返回的json里
沒有對(duì)無效數(shù)據(jù)的異常處理
查看全部 -
本節(jié)內(nèi)容
Django原生中是function base view 和class view2種。之前ins項(xiàng)目有用到。本節(jié)也有代碼復(fù)習(xí)演示
查看全部 -
這節(jié)課pycharm直接創(chuàng)建的方式我可能是社區(qū)版,沒有這個(gè)功能。
anyway, demo里的首次migration我也做了一次。不然無法創(chuàng)建admin user for login to admin portal.
查看全部
舉報(bào)