Django Web應用開發實戰第一章

一、常見域名後綴

  • .com:商業性的機構或公司。
  • .net:從事Internet相關的網絡服務的機構或公司。
  • .org:非營利的組織、團體。
  • .gov:政府部門。
  • .cn:中國國內域名。
  • .com.cn:中國商業域名。
  • .net.cn:中國從事Internet相關的網絡服務的機構或公司。
  • .org.cn:中國非營利的組織、團體。
  • .gov.cn:中國政府部門。

二、空間服務器

  空間服務器主要有虛擬主機、獨立服務器和VPS(Virtual Private Server虛擬專用服務器)。

  • 虛擬主機:虛擬主機是在網絡服務器上劃分一定的磁盤空間供用戶放置站點和應用組件等,提供必要的站點功能、數據存放和傳輸功能。所謂虛擬主機也叫“網站空間”,就是把一臺運行在互聯網上的服務器劃分成多個“虛擬”的服務器。每一個虛擬主機都是具有獨立的域名和完整的Internet服務器(支持WWW、FTP、E-mail等)。虛擬主機的租用服務成了網絡時代新的經濟形式。
  • 獨立服務器:獨立服務器是指性能更強大、整體硬件完全獨立的服務器,其CPU都在8核以上。
  • VPS:VPS即虛擬專用服務器,是將一個服務器分區成多個虛擬獨立專享服務器的技術。每個使用VPS技術的虛擬獨立服務器擁有各自獨立的公網ip地址、操作系統、硬盤空間、內存空間和CPU資源等,還可以進行安裝程序、重啓服務器等操作,與一臺獨立服務器完全相同。

三、常用術語

  • Client(客戶端):在計算機上運行並連接互聯網應用程序,簡稱瀏覽器,如Chrome、Firefox、IE等。用戶通過操作客戶端實現網站和用戶之間的數據交互。
  • Server(服務器):能連接到互聯網具有IP地址的計算機。服務器主要接收和處理用戶的請求信息。
  • IP地址:互聯網協議地址,TCP/IP網絡設備(計算機、服務器、打印機、路由器等)的數字標識符。互聯網上每臺計算機都有一個IP地址,用於識別和通信。IP地址中有4組數字,以小數點分隔,這被稱爲邏輯地址。爲了在網絡中定位設備,通過TCP/IP協議將邏輯IP地址轉換爲物理地址(即計算機裏面的MAC地址)。
  • 域名:用於標識一個或多個IP地址。
  • DNS(Domain Name System):域名系統,用於跟蹤計算機的域名及其在互聯網上相應的IP地址。
  • ISP(Internet Service Provider):互聯網服務提供商。主要工作是在DNS查找當前域名對應的IP地址。
  • TCP/IP:傳輸控制協議/互聯網協議,是廣泛使用的通信協議。
  • HTTP:超文本傳輸協議,是瀏覽器和服務器通過互聯網進行通信的協議。

四、網站的運行原理

  1. 在瀏覽器輸入網站地址,如www.github.com。
  2. 瀏覽器解析網站地址中包含的信息,如HTTP協議和域名(github.com)。
  3. 瀏覽器與ISP通信,在DNS中查找www.github.com所對應的IP地址,然後將IP地址發送到瀏覽器的DNS服務,最後向www.github.com的ip地址發送請求。
  4. 瀏覽器從網站地址中獲取IP地址和端口(HTTP協議默認爲80端口,HTTPS協議默認443端口),並打開TCP套接字連接,實現瀏覽器和Web服務器的連接。
  5. 瀏覽器根據用戶操作向服務器發送相應的HTTP請求,如打開www.github.com的主頁面。
  6. 當Web服務器接收請求後,根據請求信息查找該HTML頁面。若頁面存在,則Web服務器將處理結果和頁面返回瀏覽器。若服務器找不到頁面,則發送一個404錯誤消息。

五、創建項目

django-admin startproject project_name

項目裏包含文件說明:

  • manage.py:命令行工具,內置多種方式與項目進行交互。在命令行提示符窗口下,執行python manage.py help可以查看該工具的指令幫助信息。
  • __init__.py:初始化文件,一般情況下無須修改。
  • settings.py:項目的配置文件,項目的所有功能都需要在該文件中進行配置。
  • urls.py:項目的路由設置,設置網站的具體網址內容。
  • wsgi.py:全稱爲Python Web Server Gateway Interface,即python服務器網管接口,是python應用與Web服務器之間的接口,用於Django項目在服務器上的部署和上線,一般不需要修改。
python manage.py startapp app_name

App應用裏包含的文件說明:

  • migrations:用於生成數據遷移文件,通過數據遷移文件可自動在數據庫裏生成相應的數據表。
  • __init__.py:app_name文件夾的初始化文件。
  • admin.py:用於設置當前App的後臺管理系統。
  • apps.py:當前App的配置信息,在Django1.9版本後自動生成,一般情況下無須修改。
  • models.py:定義數據庫的映射類,每個類可以關聯一張數據表,實現數據持久化,即MVT裏面的模型(Model)。
  • tests.py:自動化測試的模塊,用於實現單元測試。
  • views.py:視圖文件,處理功能的業務邏輯,即MVT裏面的視圖(View)。

六、Django操作指令

  • changepassword:修改內置用戶表的用戶密碼。
  • createsuperuser:爲內置用戶表創建超級管理員賬號。
  • remove_stale_contenttypes:刪除數據表中已不使用的數據表。
  • check:檢查整個項目是否存在異常問題。
  • compilemessages:編譯語言文件,用於項目的區域語言設置。
  • createcachetable:創建緩存數據表,爲內置緩存機制提供存儲功能。
  • dbshell:進入Django配置的數據庫,可以執行數據庫的SQL語句。
  • diffsettings:顯示當前settings.py配置文件與默認配置的差異。
  • dumpdata:導出數據表的數據並以JSON格式存儲,如python manage.py dumpdata app_name > app_name.json
  • flush:清空數據表的數據。
  • inspectdb:獲取項目所有模型定義的過程。
  • loaddata:將數據文件導入數據表,如python manage.py loaddata app_name.json
  • makemessages:創建語言文件,用於項目的區域語言設置。
  • makemigrations:從模型對象創建數據遷移文件並保存在App的migrations文件夾。
  • migrate:根據遷移文件的內容,在數據庫裏生成相應的數據表。
  • sendtestemail:向指定的收件人發送測試的電子郵件。
  • shell:進入Django的Shell模式,用於調試項目功能。
  • showmigrations:查看當前項目所有的遷移文件。
  • sqlflush:查看情況數據庫的SQL腳本。
  • sqlmigrate:根據遷移文件內容輸出相應的SQL語句。
  • sqlsequencereset:重置數據庫表遞增字段的索引值。
  • squashmigrations:對遷移文件進行壓縮處理。
  • startapp:創建項目應用App。
  • startproject:創建新的Django項目。
  • test:運行App裏的測試程序。
  • testserver:新建測試數據庫並使用該數據庫進行運行項目。
  • clearsessions:清除會話Session數據。
  • collectstatic:收集所有靜態文件。
  • findstatic:查找靜態文件的路徑信息。
  • runserver:在本地計算機上運行Django項目。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章