1. 程式人生 > >【3】Django建立第一個專案

【3】Django建立第一個專案

天地所以能長且久者,以其不自生,故能長生。
——老子《道德經》

寫在前面:Django在學習的過程中,我們會參考官方文件,從兩部分進行講解,第一部分主要是一個入門專案的搭建開發,第二部分是核心的講解。過程中可能會有一些配置或者技術點不會明確的講解,入門專案要求是能寫出程式碼、能跟著文件寫出專案,能瞭解專案即可。其餘的後續章節中會有詳細介紹,此時~不用恐懼不用害怕不用擔心,某些細節問題我們暫時可以不求甚解!

本節內容

  • 專案結構瞭解
  • 建立第一個專案
  • 執行並訪問我們的專案

1. Django建立專案的結構

在使用django開始建立並開發專案之前,我們先簡單瞭解一下Djaogo對於專案的管理的結構,這裡要提出的是,Django之所以可以方便快捷的開發大型WEB應用,最大的特點是它面向物件開發的基礎上的模組化開發,將專案中需要的各個功能可以封裝成或大或小的模組,這些模組在專案中是可插拔時的,非常有利於專案的更新和擴充套件

所以,Django框架在使用時,首先會常見一個專案(根模組),然後在專案的技術上,建立各個應用的子模組,將子模組引入到我們的根模組中進行使用

Django常見的專案類似於我們建立了一個插線板,插線板上可以插入多個用電器,每一個用電器都是實現了某些功能的一個模組,此時這個插線板的功能就非常強大了,可以通過接入不同的用電器實現各種特殊的功能了,插入電腦電源插線板專案中就包含了電腦的功能,插入手機充電器~插線板就實現了給手機充電的功能等等

Django建立的專案和模組的結構

2. Django建立專案

首先,我們確定要開發Django專案的資料夾,如我的專案放在D:\resp_work\PY_WORK目錄下,
第一步,命令列進入該目錄cd D:\resp_work\PY_WORK

命令列進入專案開發資料夾

第二:我們確定要開發的專案名稱,案例中我們的專案名稱為:mysite

第三:命令列執行django建立專案的命令,如下

django-admin startproject mysite

建立專案

執行完命令之後,可以在專案資料夾D:\resp_work\PY_WORK下看到建立好的專案如下:

Django建立的專案結構

專案結構檔案簡單介紹【瞭解即可】

|-- mysite/        # 該資料夾只是專案的容器資料夾,可以任意命名,建議使用預設的即可
    |-- mysite/    # 這個是mysite專案的主體模組,也就是前面說到的根模組
      |--__init__.py  # 這是一個空檔案,主要是用來宣告mysite/資料夾是一個python模組
      |-- settings.py  # 用於Django專案設定的配置檔案
      |-- urls.py    # 網站的目錄,也是網站所有URL地址配置的檔案
      |-- wsgi.py    # 一個相容WSGI入口點的web伺服器
  |-- manage.py  # 這是用於在命令列中執行專案管理的一個檔案,內容不需要修改

3. 執行及訪問Django專案

我們已經建立好了基於Django的一個專案,那麼怎麼在web容器中啟動這個專案,並且可以在瀏覽器中訪問它呢?

在命令列進入我們建立的mysite/資料夾,執行如下命令,啟動服務

> cd mysite
> python3 manage.py runserver

執行命令之後,會出現如下結果

啟動服務

接下來,就可以在瀏覽器中進行網站的訪問了,從上述執行結果中,就可以看出提示通過http://127.0.0.1:8000埠進行訪問

瀏覽器中訪問網站應用,出現如下結果,說明網站服務已經執行成功

瀏覽器中訪問的情況

4. 擴充套件:通過指定IP地址和埠啟動服務

預設情況下,我們可以通過python manage.py runserver啟動服務時,綁定當前PC的ip地址和8000埠來啟動服務

如果我們想通過自定義埠進行訪問的話,可以通過如下的命令來啟動服務

使用自定義的8080埠來啟動服務

python3 manage.py runserver 8080

瀏覽器中可以通過如下的形式訪問:http://localhost:8080
![修改埠之後訪問伺服器](//upload-images.jianshu.io/upload_images/5988045-574cbeca298195d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如果此時我們想指定IP地址和埠來啟動服務,首先要確定我們自己PC的IP地址
命令列中檢視IP地址命令

windows系統中,在命令列執行如下命令檢視IP地址

ipconfig

linux/unix系統中,在命令列執行如下命令檢視IP地址

ifconfig

檢視到自己的IP地址之後,就可以通過`python manage.py runserver ip:port`的命令來指定IP地址和埠啟動我們的服務了

python3 manage.py runserver 192.168.10.119:8080

執行上述程式碼就可以看到如下結果
> ![指定IP地址啟動服務的結果](//upload-images.jianshu.io/upload_images/5988045-703dc23ef6be841c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
服務時啟動成功了,如果我們此時直接通過IP地址訪問的話,就會出先如下錯誤
> ![訪問出錯](//upload-images.jianshu.io/upload_images/5988045-688ee024054e2e6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

> 這是因為在指定IP地址的時候,出於安全考慮,伺服器中並沒有配置除了本機localhost之外的其他IP地址,所以出現了錯誤提示`You may need to add <ip> to ALLOWED_HOST`,我們開啟`mysite/mysite/settings.py`配置檔案,修改如下程式碼

settings.py中找到這行程式碼,新增我們設定的IP地址

ALLOWED_HOSTS = ["192.168.10.119"]


> 重啟django服務,通過瀏覽器訪問我們的伺服器,整個世界清淨了...
![指定IP地址和埠訪問服務的情況](//upload-images.jianshu.io/upload_images/5988045-d2d682fc00f2a717.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

---

![Django來敲門](//upload-images.jianshu.io/upload_images/5988045-f7382c450790640c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)