目錄html
c/s 客戶端 服務端 b/s 瀏覽器 服務端 ps:bs本質也是cs
全稱:超文本傳輸協議 1.四大特性 1.基於TCP/IP之上做用於應用層 2.基於請求響應 3.無狀態 每次鏈接一次只處理一個請求, 不保存用戶狀態 不利於保持鏈接 因此纔有cookie session token的產生... 4.無鏈接: 長鏈接 websocket(HTTP協議的大補丁):沒有數據傳也要保持tcp鏈接 2.數據格式 請求格式 請求首行(請求方式,協議版本。。。) 請求頭(一大堆k:v鍵值對) \r\n 請求體(真正的數據 發post請求的時候纔有 若是是get請求不會有) 響應格式 響應首行 響應頭 \r\n 響應體
用特定的數字表示一些意思 1XX:服務端已經成功接收到了你的數據 正在處理 你能夠繼續提交其餘數據 2XX:服務端成功響應(200請求成功) 3XX:重定向 4XX:請求錯誤(404 請求資源不存在 403 拒絕訪問) 5XX:服務器內部錯誤(500 )
get請求 朝別人要數據(get請求沒有請求體,get請求也能夠攜帶參數) post請求 朝別人提交數據(用戶登陸)
至關於web服務網關接口 1 socket代碼幫你封裝好了 2 http數據自動幫你處理好了 1.請求來的時候 幫你拆分http數據格式 2.響應走的時候 有幫你封裝成了符合http數據格式的數據 根據不一樣的功能拆封成不一樣的py文件 urls.py 路由與視圖函數對象關係 views.py 放的是視圖函數(處理業務邏輯的) templates 模板文件夾(一堆html文件)
靜態網頁 數據是寫死的 萬年不變 動態網頁 數據是實時獲取的 eg: 1.後端獲取當前時間展現到前端 2.後端獲取數據庫中的數據展現到前端
疑問:如何將後端獲取的數據 傳遞給html頁面 後端獲取的數據 傳遞給html頁面 >>>: 模板的渲染 jinja2 pip3 install jinja2 模板語法(極其貼近python後端語法) <p>{{ user }}</p> <p>{{ user.name }}</p> <p>{{ user['pwd'] }}</p> <p>{{ user.get('hobby') }}</p> ----------------------------------------- {% for user_dict in user_list %} <tr> <td>{{ user_dict.id }}</td> <td>{{ user_dict.name }}</td> <td>{{ user_dict.pwd }}</td> </tr> {% endfor %}
Django: 大而全 自帶的功能特別特別多 相似於航空母艦 有時候過於笨重 Flask 小而精 自帶的功能特別特別少 相似於遊騎兵 第三方的模塊特別特別多,若是將flask第三方模塊所有加起來 徹底能夠超過django 比較依賴於第三方模塊 Tornado 異步非阻塞 牛逼到能夠開發遊戲服務器
A:socket部分
B:路由與視圖函數對應關係
C:模板語法前端
Django: A用的別人的 wsgiref B本身寫的 C本身寫的 Flask A用的別人的 werkzeug(基於wsgiref) B本身寫的 C用的別人的 jinja2 Tornado 三者全是本身寫的
注意事項 1.計算機的名稱不能有中文 2.一個pycharm窗口就是一個項目 3.項目名裏面儘可能不要用中文 django版本問題 1.X 2.X 如今市面上用的比較多的仍是1.X 推薦你使用1.11.9~1.11.13 django安裝 pip3 install django==1.11.11 如何驗證django是否安裝成功 命令行直接敲django-admin
說明:python
一個django項目就相似因而一所大學,而app就相似於大學裏面的學院 django其實就是用來開發一個個應用的 一個app就至關於一塊獨立的功能 用戶功能 管理功能 django支持任意多個app 如何使用 命令行使用 建立django項目 django-admin startproject mysite 注意: 1.使用命令行建立django項目 不會自動幫你建立templates文件夾 只能本身建立 2.settings文件中 須要你手動在TEMPLATES寫配置 os.path.join(BASE_DIR, 'templates') 啓動django項目 python manage.py runserver 建立應用app python manage.py startapp app01 注意: 1.新建立的app須要你去settings配置文件中註冊 pycharm只會幫你註冊第一個你在建立項目的時候寫的應用
在啓動django項目的時候 你必定要確保一個端口只有一個django項目 項目名 跟項目名同名的文件夾 settings.py 暴露給用戶的配置文件 urls.py 路由與視圖函數對應關係 應用名 migrations文件夾 存放數據庫遷移記錄的 admin.py django後臺管理 apps.py 註冊相關 models.py 模型類 tests.py 測試文件 views.py 存放視圖函數 templates文件夾 存放html文件 manage.py django入口文件