複習
"""
vue指令:
v-text|html|noce
v-bind|on => :|@
v-model
v-show|if|else-if|else
v-for
vue成員:
el | template | data | methods | watch | computed | filters | props | components
vue文件組件:
<template>
<div>
...
</div>
</template>
<script>
export default {
...
}
</script>
<style scope>
</style>
vue項目生命週期:
npm run serve => 運行的是 node_modules 依賴(webpack) => 加載主腳本文件(main.js) => 添加各類環境,渲染根組件(Vue、router、store、自定義、new Vue()) => 項目啓動了,以後的任務交給router進行管理
router生命週期
瀏覽器/user(直接輸入,也能夠router-link跳轉,也能夠this.$router.push跳轉) => router的index.js映射出User組件,加載到內存(頁面User組件可使用n個子組件) => 替換根組件的router-view
組件的生命週期(生命週期鉤子):
created、mounted
先後臺分離交互:
ajax:axios插件 - npm install|uninstall axios
後臺:處理跨域問題 - CORS
this.$axios({
url: '接口路徑',
method: 'get|post|delete|patch|put',
params: {拼接參數},
data: {數據包參數},
headers: {請求頭(認證信息)}
}).then(response => {
response.data
}).catch(error => {
error.response.data
})
"""
drf:Django-restframework
"""
一、接口:接口的概念、數據接口文檔、接口規範(restful)、Postman接口測試工具
二、drf請求生命週期 - CBV
三、drf的基礎組件:請求、響應、渲染、解析、異常
四、drf的序列化(核心):序列化、模型序列化、羣操做序列化
五、drf的視圖家族:視圖類(經常使用)、視圖工具類、工具視圖類(經常使用)、視圖集
六、drf的三大認證(核心):認證、權限、頻率
七、drf的過濾:篩選、搜索、排序、分頁、區間、自定義
"""
drf框架安裝
"""
drf框架安裝:
1)drf是Django的插件,因此要提早按照Django
2)按照命令:pip install djangorestframework
3)使用drf時,要在settings中註冊
"""
接口
"""
什麼是接口:規定了提交請求參數的請求方式、訪問其能夠獲取響應的反饋數據的url連接
四部分:url連接 + 請求方式 + 請求參數 + 響應數據
詳細解釋:見小猿取經博客:https://www.cnblogs.com/xiaoyuanqujing/articles/11869745.html
"""
restful接口規範
"""
url連接:
1)接口都是操做先後臺數據的,因此須要保證數據的安全性
採用https協議
2)接口用來操做數據,與網址(操做頁面)有區別,因此用特定的關鍵字表示接口
api關鍵字
- https://api.baidu.com
- https://www.baidu.com/api
3)接口操做的數據稱之爲 資源,在url中只體現 資源 名稱(名詞),不體現操做資源的方式動詞
常規資源接口
- https://api.baidu.com/books/
- https://api.baidu.com/books/(pk)/
很是規接口 - 和某資源不是特別密切或是不止一種資源
- https://api.baidu.com/login/
- https://api.baidu.com/place/search/
4)若是一個資源存在多版本結果,在url連接中要用特定符號來兼容多版本共存
v1|v2
- https://api.baidu.com/v1/books/
- https://api.baidu.com/v2/books/
5)羣資源操做,通常還有額外的限制條件,如排序、限制調試、分頁等等
?限制條件
- https://api.baidu.com/v1/books/?ordering=-price&limit=3
請求方式
6)五大請求方式
get:獲取單個或多個資源
- https://api.baidu.com/books/
羣查,返回多個結果對象
- https://api.baidu.com/books/(pk)/
單查,返回單個結果對象
post:新增單個或多個資源
- https://api.baidu.com/books/
單增,提交單個數據字典,完成單增,返回單個結果對象
羣增,提供多個數據字典的數組,完成羣增,返回多個結果對象
put:總體修改單個或多個資源
- https://api.baidu.com/books/
總體修改多個,提供多個數據字典的數組(數據字典中要包含主鍵),完成羣改,返回多個結果對象
- https://api.baidu.com/books/(pk)/
總體修改單個,提供單個數據字典(主鍵在url中體現),完成單改,返回單個結果對象
patch:局部修改單個或多個資源
方式與put徹底相同,不一樣的是:操做的資源若是有5個key-value鍵值對,put請求提供的字典必須全包含,可是patch提供的字典包含的鍵值對0~5個均可以
delete:刪除單個或多個資源
- https://api.baidu.com/books/
多刪,提供多個資源主鍵數據,完成羣刪,不作任何資源返回(通常咱們會返回結果信息:成功|失敗)
- https://api.baidu.com/books/(pk)/
單刪,不須要提供額外數據,完成單刪,不作任何資源返回(通常咱們會返回結果信息:成功|失敗)
響應結果:
7)響應對象中要包含網絡狀態碼(網絡狀態信息和網絡狀態碼捆綁出現,不要額外設置):
1xx:基本信息
2xx:成功 - 200基本 201新增成功
3xx:重定向
4xx:客戶端錯誤 - 400錯誤請求;403請求無權限;404請求資源不存在
5xx:服務端錯誤 - 500服務器錯誤
8)數據狀態碼(通常都是先後臺約定規則):
0:成功
1:失敗 - 1xx:具體失敗信息(要在接口文檔中明確寫出)
2:無數據 - 2xx:具體無數據信息(要在接口文檔中明確寫出)
9)數據狀態信息(通常不單單是對數據狀態碼的解釋,更可能是對結果的描述,給前臺開發者閱讀的)
10)數據結果(常量、數組、字典),若是有子資源(圖片、音頻、視頻),返回資源的url連接
{
"status": 0,
"msg": 'ok',
"results": [{
"name": "西遊記",
"img": "https://api.baidu.com/media/book/xyj.png"
}]
}
"""