1. 程式人生 > 實用技巧 >進入Web的殿堂與Django的初接觸

進入Web的殿堂與Django的初接觸

什麼是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 + 回車 可檢視更多命令