1. 程式人生 > >【3】Django創建第一個項目

【3】Django創建第一個項目

lock 成功 更新 onf mys 細節問題 resp ef6 如果

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

寫在前面: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)

【3】Django創建第一個項目