接續昨天建立的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 Server
1
py manage.py runserver
-
在瀏覽器輸入對應的網址(
127.0.0.1:8000/members/
)就可以看到Hello World!
明天就會進入到
Django Templates
篇,我們開始可以用.html
當作是要回傳的HttpResponse
囉!