最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Day4 : 打造Apps跟Django say hello!

XAMPP下载 admin 686浏览 0评论
 今天要來介紹 Django 的 app!!

你可能會懷疑,為什麼是叫 app,畢竟看到 app 最直觀的想法是 應用程式,但是這麼想其實是有偏差的,畢竟App的原意是一項應用,各式各樣的技術也會產出不同的應用,所以被稱作 應用程式,也不能說它錯拉 ^^”

那這個 apps 跟Day3講到的 project有什麼關聯性?

What’s the difference between a project and an app?
An app is a Web application that does something – e.g., a Weblog system, a database of public records or a simple poll app. A project is a collection of configuration and apps for a particular website. A project can contain multiple apps. An app can be in multiple projects.

根據上述所法,我們可以知道 app 在 Django 代表的是一個網站的應用,這樣講太中式翻譯了!
其實一個 app 所代表的就是一項功能,根據功能的差異來分類app, e.g. 登入功能、點餐功能 …等等
而我們的專案,裡面就會包含各式各樣的功能,雖然 apps 只是我們專案中一部份的內容,但是在Django中,這些 apps的架構都劃分的相當清楚!

Django comes with a utility that automatically generates the basic directory structure of an app, so you can focus on writing code rather than creating directories.

從上面那一句話我們可以明白,Django 很貼心地幫我們完成了小細節的部分,我們只要專注在商業邏輯的撰寫即可^^

那 Django 的 app 要怎麼建呢? 其實就跟 project 一樣簡單!
python manage.py

startapp [app_name]

後方的 [app_name] 只是一個示意 ^^”,不是要你們跟著我打[app_name]

講到這裡,想要分享一個概念

除非是官方正式的Docs,不然千萬不要別人說一句就照打一句,你要盡可能的去思考,這一行指令,背後的用意何在! 有時候官方寫的可能還會有錯(這發生機率很小,但就是有遇到過Q

Anyway,題外話

這裡我先建立一個**歡迎(welcome)**功能的 app

(ithome_enve) C:\Users\User\Desktop\ithome\ithome>python manage.py

startapp welcome
(ithome_enve) C:\Users\User\Desktop\ithome\ithome>tree /F ..

ithome
│   ├───ithome
│   └───welcome
│       │   admin.py

│       │   apps.py

│       │   models.py

│       │   tests.py

│       │   views.py

│       │   __init__.py
│       │
│       └───migrations
│               __init__.py
│ (省略部分內容….)
在創建好 app welcome,可以發現裡面有六個檔案及一個資料夾,分別是

admin.py

: 設定資料庫呈現的模式,之後會跟models溝通
models.py

: 建構你的資料庫型態
tests.py

: 這是拿來檢查商業邏輯的地方,也就是用來測試你的邏輯是否有遺漏,這裡我們沒有要討論太多這方面的議題,但是你要記住,寫測試是一件相當重要的事情,千萬不能小看使用者的潛能
views.py

: 相信你還沒有忘記,在 Day1我們這一位擔任控制者(controller)的身分,沒錯! 它就是寫商業邏輯的地方,它會跟urls.py

做呼應,並將所需傳達給前端
urls.py

: 它擔任著橋樑的角色,讓views.py

與相對的網站做對應。蛤? 你說怎麼沒見到 urls.py

,因為我們要自己建阿^^,在這裡建議可以把內部 ithome的urls.py

複製貼過來就好,但是內容要修改!! 待會再來說明修改的部分
apps.py

: 這裡你只要先了解,這是用來區別app的一個檔案即可
init.py

: 相信大家都還沒有忘記^^,就是告訴Python這資料夾是個套件
migrations : 這資料夾裡面存放的內容,記錄著models裡面所創建的資料庫型態,這部分後面會詳談
介紹完所有app裡面所包含的檔案,我覺得再過不久,你就能慢慢察覺到 Django MVT的精神所在 ^^

我們先試著跟 Django 打聲招呼吧! 打開views.py

(在這,我是使用 Sublime 當作編輯器,至於要使用什麼編輯器,純粹是依照各自的需求跟喜好,沒有絕對^^

我們先一起來修改 welcome\views.py
QQ截图20181007160020

接著,我們將 ithome\urls.py複製到 welcome\ 資料夾下,並將裡面的內容修改如下
QQ截图20181007160025

因為上面的是針對welcome裡的url做對應(類似區域性概念),我們也要對廣域的ithome裡的urls.py做修改
QQ截图20181007160031

而 include 概念就是,它會將 weclome.urls 下的所有 url 前面都冠上 welcome/的意思,這樣子你才不會說在 welcome.urls 裡的每一個 url都要加上 welcome/,這樣多累阿 ^^”

完整的式意圖如下 :
QQ截图20181007160036

這樣整個架構都建好了,接下來我們來 run 看看結果吧! 應該還沒忘記指令吧 ^^

 python manage.py runserver

 

預設是空畫面是正常的,因為預設畫面本來就還沒有設定囉!
所以只要將網址後面加上 /welcome/ 即可!
QQ截图20181007160044

大功告成!!

呼,希望上面的式意圖能讓你大致上了解整個架構是怎麼兜起來的 ^^

那今天就先醬拉,明天見~

學海無涯,回頭是岸,不進則退,至少希望明天的自己都能比今天多了解一些知識 From BY

 

转载请注明:XAMPP中文组官网 » Day4 : 打造Apps跟Django say hello!

您必须 登录 才能发表评论!