【3】Django建立第一個專案
天地所以能長且久者,以其不自生,故能長生。
——老子《道德經》
寫在前面:Django在學習的過程中,我們會參考官方文件,從兩部分進行講解,第一部分主要是一個入門專案的搭建開發,第二部分是核心的講解。過程中可能會有一些配置或者技術點不會明確的講解,入門專案要求是能寫出程式碼、能跟著文件寫出專案,能瞭解專案即可。其餘的後續章節中會有詳細介紹,此時~不用恐懼不用害怕不用擔心,某些細節問題我們暫時可以不求甚解!
本節內容
- 專案結構瞭解
- 建立第一個專案
- 執行並訪問我們的專案
1. Django建立專案的結構
在使用django開始建立並開發專案之前,我們先簡單瞭解一下Djaogo對於專案的管理的結構,這裡要提出的是,Django之所以可以方便快捷的開發大型WEB應用,最大的特點是它面向物件開發的基礎上的模組化開發,將專案中需要的各個功能可以封裝成或大或小的模組,這些模組在專案中是可插拔時的,非常有利於專案的更新和擴充套件
所以,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
下看到建立好的專案如下:
專案結構檔案簡單介紹【瞭解即可】
|-- 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)