Django URLs Routing

   อัปเดตล่าสุด April 5, 2023

URL  (Uniform Resource Locator) คือ ที่อยู่ของหน้าเว็บหน้านั้น ๆ โดยแต่ละหน้าเว็บก็จะมี URL ที่แตกต่างกันออกไป ซึ่งการออกแบบ URL ก็เป็นอีกส่วนสำคัญของการพัฒนาเว็บไซต์ โดยเรามาดูโครงสร้างของ Django URLs กันครับว่าเป็นอย่างไรบ้าง

โครงสร้างของ URLs

Django จะมีโครงสร้างของ URLs 2 ส่วนคือ

  1. Project Level URL
  2. App Level URL


Project Level URL

คือส่วนของ URL ของโปรเจคท์ เรียกว่าเป็น main URL ก็ว่าได้


App Level URL

คือส่วนของ URL ในแต่ละแอพ


mysite/urls.py (Project URL)

ทำการกำหนด route ใหักับ App  เสมือนเป็นการ register แอปของเราเข้ามาในโปรเจคท์ โดยทำการอิมพอร์ตคำสั่ง    include    และ    blog.urls   

# mysite/urls.py
from django.contrib import admin
from django.urls import path, include 


urlpatterns = [
    path('', include('blog.urls')),  # App
    path('admin/', admin.site.urls),
]


blog/urls.py (App URL)

ทำการกำหนด route ใหักับ App เพื่อ map เข้ากับฟังก์ชันต่าง ๆ ที่เขียนไว้ใน   views.py 
โดยสร้างไฟล์  URL ปกติของ App เลยก็คือ    urls.py 


# blog/urls.py       
from django.urls import path
from .views import home, post_detail


urlpatterns = [
    path('', views.home),
    path('blog/<int:post_id>', views.post_detail, name="post_detail"), 
]



คอร์สเรียนแนะนำ