1. django rest framework框架的做用?前端
幫助開發者能夠快速開發出遵循restful規範的API
2. django rest framework框架都有哪些組件(10)?vue
-版本 -權限 -認證 -節流 -分頁 -解析器 -序列化(最重要) -路由 -視圖 -渲染器(把結果渲染到一個模板裏)
3.爲何作先後端分離?python
-分工明確,提升效率 -對於後端人員,主要爲前端提供:API接口 之前的你的接口: http://127.0.0.1:8000/index/ http://127.0.0.1:8000/users/ http://127.0.0.1:8000/add_users/ http://127.0.0.1:8000/del_users/ http://127.0.0.1:8000/edit_users/ restful 規範: http://127.0.0.1:8000/users/ -一樣的業務邏輯,能開發多個端口(app,網頁端,ios端,微信小程序等),統一一套API接口,能適用於多個端口 -vue.js等框架編寫前端時,會比以前寫jQuery更簡單快捷
4.什麼是跨域?ios
-好比你訪問百度,在百度js的ajax中攜帶一個京東的URL發送給你,因爲瀏覽器的同源策略(同源是指域名,協議,端口相同),會進行阻隔,你接收不到頁面內容
5.談談你對restful規範的理解(-->全部語言共用)web
1. 使用https代替http(http經過socket收發數據是明文的,https是加密的,安全性高) https://www.luffycity.com/course/detail/web/3 http://www.luffycity.com/course/detail/web/3 2. 在URL中體現本身寫的是API https://www.luffycity.com/api/ https://api.luffycity.com/ 可能會跨域 3. 在URL中體現版本 (舊版本和新版本都能體現出) https://www.luffycity.com/api/v1/users https://www.luffycity.com/api/v2/users 4. 名詞(面向資源編程) https://www.luffycity.com/api/v1/users https://www.luffycity.com/api/v1/song 5. 行爲 https://www.luffycity.com/api/v1/users method: get,獲取 post,新建 put,更新 patch,局部更新 delete,刪除 6. 條件 (分頁等) https://www.luffycity.com/api/v1/users?page=1 https://www.luffycity.com/api/v1/users?page=1&gender=2 7. 狀態碼 200 301 302 404 500 推薦使用code: def xx(request): ret = {'code':1000,'data':None} try: ... except Exptions as e: ret['status'] = 1001 ret['error'] = 'xxxx錯誤' return JsonResponse(ret) 8. 錯誤信息 { code:10001, error:'用戶名或密碼錯誤' } 9. 返回結果: GET: https://www.luffycity.com/api/v1/users 響應: { code: 1000, data: [ {'name':'趙森','age':19}, {'name':'趙雲','age':16}, {'name':'趙雲','age':16}, {'name':'趙雲','age':16}, {'name':'趙雲','age':16}, ] } GET: https://www.luffycity.com/api/v1/users/1/ 響應: { code:1000, data:{'name':'趙森','age':19}, } POST: https://www.luffycity.com/api/v1/users 請求體: {'name':'大表哥','age':19} 響應(不要): { code:1000, data:{'id':9, 'name':'大表哥','age':19} } PUT/PATCH: https://www.luffycity.com/api/v1/users 請求體: {'name':'大表哥','age':19} 響應(不要): { code:1000, data:{'id':9, 'name':'大表哥','age':19} } DELETE: ... 10. hyper link 訪問:https://www.luffycity.com/api/v1/users { code:1000, data:[ {'id':1,'name':'趙森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/}, {'id':1,'name':'趙森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/}, {'id':1,'name':'趙森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/}, {'id':1,'name':'趙森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/}, {'id':1,'name':'趙森','age':19, 'depart':https://www.luffycity.com/api/v1/depart/1/}, ] } https://www.luffycity.com/api/v1/users { code:1000, data:[ {'id':1,'name':'趙森','age':19, 'depart_title':'公關部'}, {'id':1,'name':'趙森','age':19, 'depart_title':'公關部'}, {'id':1,'name':'趙森','age':19, 'depart_title':'公關部'}, {'id':1,'name':'趙森','age':19, 'depart_title':'公關部'}, {'id':1,'name':'趙森','age':19, 'depart_title':'公關部'}, ] }