進入Web的殿堂與Django的初接觸
阿新 • • 發佈:2020-07-27
什麼是Web
Web(World Wide Web)即全球廣域網,也稱為全球資訊網,它是一種基於超文字和HTTP的、全球性的、動態互動的、跨平臺的分散式圖形資訊系統,是建立在Internet上的一種網路服務,為瀏覽者在Internet上查詢和瀏覽資訊提供了圖形化的、易於訪問的直觀介面,其中的文件及超級連結將Internet的資訊節點組成一個互為關聯的網狀結構
Web的特點
- 圖形化的:我們看到的圖片、文字、視訊、音訊、在一個結構下呈現出來
- Web與平臺無關:無論是什麼作業系統,都可以通過瀏覽器預覽使用
- 分散式的:在當下網路發達的今天,我們的所有元素被安排在不同的電腦磁碟中,防止因集中讀取一臺電腦磁碟而出現瓶頸
- 動態的:資訊是可變的,特別是大型更新速度很快的網站
- 互動的:我們可以通過網上的資訊進行與內容的互動,人與人之間的交流
Web的結構
- 網站的前端:通過使用者肉眼看到的網站的佈局、內容,對網站的操作的功能,一切可以讓使用者可以直接接觸與操作的部分
- 網站的後端:大量的業務邏輯,資料庫IO,使用者不可見,不可直接接觸的部分
使用者通過訪問前端的功能,前端分為
靜態功能
和動態功能
靜態功能不會和後端伺服器進行互動,僅在前端處理並響應使用者
動態功通過與後端的互動,通過前端傳送給後端的指令,在後端接到指令並作出相應邏輯處理後響應給前端,前端在收到後端響應後,將結果直接或二次加工呈現給使用者
Web結構圖
前後端不分離
前後端分離
組成前端的開發語言
名稱 | 描述 | 舉例 |
---|---|---|
超文字語言html | 一種用來標記頁面佈局的語言(準確來說html不算一種語言) | <table></table> |
css | 用來給html新增各種樣式的語言 | color: red |
javascript | 用於動態調整html,css,進行前端邏輯處理,與後端互動的語言 | var name = 'beck'; |
Python中的後端伺服器框架
名稱 | 描述 |
---|---|
Tornado | 支援非同步,有自己的伺服器的web框架,成熟的web框架,初學難度高 |
Webpy | 一個小巧的Web框架,貌似已經停止更新 |
Flask | 一個輕量級框架,生態齊備,使用率高,有一定學習成本 |
Japronto | 2017年出的新框架,效能很強,但生態還不齊備,當前版本還有諸多問題 |
Django | 成熟的PythonWeb框架,生態齊備且功能齊備,學習成本低,易於快速上手 |
什麼是Django
- Django是一個開源的Web應用框架
- 由Python編寫,它擁有非常齊備的官方文件
- 提供一站式的解決方案,包括快取、資料ORM、後臺管理、驗證、表單處理等多項功能
- 可以快速搭建高效能的優雅的網站
Django中的MVT
Django中的模組
- 模型 Model:資料層,處理與資料相關的所有事物
- 檢視 View:檢視層,用來處理使用者發出的請求
- 模板 Template:模板層,通過檢視函式渲染html模板,得到動態的前端頁面
- 路由 Url:網站的入口,關聯到對應的檢視函式,訪問網址就對應一個函式
- 表單 Forms:表單,用在瀏覽器輸入資料提交,並對這些資料進行驗證
- 後臺Admin:Django自帶一個管理後臺,對你提交的資料進行管理
- 配置Settings:Django的設定,配置檔案
學習的準備之基礎知識
- 對Python基礎知識進行掌握,對Python3的一些特性有所瞭解
- 對關係型資料庫有一定了解,如Mysql,它的安裝和基本使用
- 對前端語言有一個基礎,Html、css和Javascript
Python3的安裝
為什麼使用python3,因為django2版本不再支援python2,並且2020年官方將不再支援python2的更新
pip
pip是一個python的第三方開源庫的下載與安裝工具,使用方法
pip install django2==2.1.2
Virtualenv
- Virtualenv是一個Python的虛擬環境庫,通過它可以防止各個專案之間因為Python版本不同或第三方庫版本不同引起衝突,每個虛擬環境都是獨立的,乾淨的
pip install virtualenv
- 建立虛擬環境路徑:
virtualenv -p python3 dev
- 啟動虛擬環境:
. env/bin/active
- 退出虛擬環境:
deactive
- 虛擬環境不是必須的,根據個人情況和習慣使用
Django的基礎命令
django-admin startproject 專案名
->建立一個django專案python manage.py startapp 應用名
->專案中建立一個應用python manage.py shell
->進入除錯程式碼的除錯模式python manage.py makemigrations
->資料庫建立更改檔案python manage.py migrate
->同步到資料庫進行更新python manage.py flush
->清空資料庫python manage.py runserver 0.0.0.0:8000
->啟動開發伺服器python manage.py + 回車
可檢視更多命令