iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
Modern Web

Django新手指南系列 第 19

PLUSH SPEED(?) 路由映射 江狗(Django) 鐵人Day19

  • 分享至 

  • xImage
  •  


(大號路由器)

今天來介紹一下Django的路由映射怎麼使用:

路由映射

目前我們在Postman上傳的路由位址是從Project/urls.py中引入job/views.py綁定所對應的路徑。

那如果有很多個應用程式,每個程式之間都有幾十上百個路徑需求時,
將他們全寫在Project/urls.py會導致版面凌亂,在後期維護上又要花一份心思找尋等等,
那我們在每個應用程式(APP)中新增一個urls.py來管理每個功能對應的路徑(URL),
最後把每個應用程式(APP)的路徑(URL)寫在專案路徑,後期維護是不是就好找許多了呢!

Django的路由映射就能實現這個功能,讓我們來看看具體怎麼實現吧!
首先我們到job/views.py中新增個簡單測試:

#<job/views.py>


def websemple(request):
    return HttpResponse("<h1>這裡是LX的鐵人測試網站</h1>")

我們在Project/job目錄中新增urls.py檔案:

在裡面添加指令如下:

<job/urls.py>


from django.conf.urls import url  #<---引入url映射參數
from . import views #<---引入job本身的views模組

urlpatterns = [ #<---儲存映射路由的關鍵變數(固定用法)
    url(r'', views.websemple, name='first-url'), #<---新增一個路由映射路徑
]

然後我們到Project/urls.py中添加路由映射來連接應用程式(job)內的路徑:

#<Project/urls.py>
#
#引入所需參數
from django.conf.urls import url
from django.conf.urls import include

urlpatterns = [
    (...)
    url(r'^job',include('job.urls')), #新增路由映射
]

ALLOWED_HOSTS

這裡有個需要注意的東西:
ALLOWED_HOSTS
用途:限定請求中的host值,以防止有心人士對伺服器惡意發送請求。
只有在列表中的host才能訪問,類似白名單的功能。

Project/setting.py的ALLOWED_HOSTS中括號內添加'*'

注意
本系列教學文中會使用通用字符'*'許可所有的請求,
但在教學以外的場合建議不要使用'*'來設置ALLOWED_HOSTS,
還有一點要注意,在DEBUG設置為False的時候必須配置ALLOWED_HOSTS,否則會出現異常。

完成後啟動Django,在瀏覽器上輸入127.0.0.1:8000/job

若能看到上圖畫面就代表成功囉!
先到這裡,大家掰掰~

圖片來源:PLUSH SPEED


上一篇
孔子:工欲善其事(?) 刪除資料表中的資料 江狗(Django) 鐵人Day18
下一篇
時間與快樂(?) Model欄位類型介紹(上) 江狗(Django) 鐵人Day20
系列文
Django新手指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言