接續昨天建立的Django App,我們今天要讓它在網頁顯示Hello World!。
前置作業
(這邊也可以先不做,但Run Server前還是要做)
在此之前先做以下前置作業 :
-
打開
CMD並切換到虛擬環境(python venv)的資料夾路徑下(實際
venv路徑不一定會跟我一樣喔!)
-
輸入以下指令啟動虛擬環境
1
Scripts\activate.bat

啟動虛擬環境後結果如下:

-
接著切換路徑到
Django Project所在的資料夾下
做完前置作業後,我們需要編輯members裡面的views.py和urls.py以及myworld裡面的urls.py。
Views
首先,我們先去編輯members裡面的views.py。

原本的views.py長這樣 :
1 | from django.shortcuts import render |
我們需要把它修改成這樣 :
1 | from django.shortcuts import render |
我們建立一個名為index的方法,用來回應訪問者的request,上述方法會回傳Hello Wprld!到訪問者端,也就是顯示在訪問者開啟的網頁上。
但只修改Views是不夠的,因為Django還不知道要用這個剛建立的view方法處理來自哪個url的request,所以我們需要再分別修改myworld和members的urls.py。
URLs
修改members的urls.py
仔細觀察會發現members裡面並沒有urls.py這個檔案,所以我們要先自己建。

建完members/urls.py後,把它修改成跟下面一樣 :
1 | from django.urls import path |
- urlpatterns
- 這個list裡面放的是
members這個App下面所有網頁的路徑
- 這個list裡面放的是
- path(‘’, views.index, name=‘index’)
'',相當於設定路經為xxx/members/,xxx會是什麼與你使用的Server有關,如果用的是localhost,那基本上會是127.0.0.1:8000/members/views.index,收到來自127.0.0.1:8000/members/的request,以members/views.py的index方法回應name='index',設定path的別名。這邊取別名是有理由的,如果在views或templates需要用到這個路徑,就可以不用寫完整路徑而使用別名代稱。
但僅僅修改members的urls.py是不夠的,因為對於members來說myworld是它的root directory,我們需要修改mywrold下面的urls.py讓它可以從根目錄順利導引至members/下所有的路徑,進而得以訪問members下轄的所有網頁。
修改myworld的urls.py

把myworld/urls.py修改成下面這樣 :
1 | from django.contrib import admin |
上面要修改的部分就是多加一行path。
- path(‘members/’, include(‘members.urls’))
- 讓
myworld可以認出包括members/和其以下所有的路徑,例如:members/signin,一定要添加這行才能從根目錄瀏覽到members\下的網頁
- 讓
檢視成果
-
先做完前置作業
-
接著輸入以下指令
Start Server1
py manage.py runserver

-
在瀏覽器輸入對應的網址(
127.0.0.1:8000/members/)就可以看到Hello World!
明天就會進入到
Django Templates篇,我們開始可以用.html當作是要回傳的HttpResponse囉!