ในหลักสูตรออนไลน์ django ผู้สอนให้เราใช้url()
ฟังก์ชั่นเพื่อเรียกดูและใช้การแสดงผลปกติในรายการ urlpatterns ฉันเคยเห็นตัวอย่างอื่นบน youtube ของสิ่งนี้ เช่น
from django.contrib import admin
from django.urls import include
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^polls/', include('polls.urls')),
]
#and in polls/urls.py
urlpatterns = [
url(r'^$', views.index, name="index"),
]
อย่างไรก็ตามในการผ่านการสอน Django พวกเขาใช้path()
แทนเช่น:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
นอกจากนี้นิพจน์ทั่วไปดูเหมือนจะไม่ทำงานกับpath()
ฟังก์ชั่นที่ใช้path(r'^$', views.index, name="index")
ไม่สามารถหาmysite.com/polls/
มุมมอง
การใช้งานpath()
โดยไม่มี regex ตรงกับวิธีการที่เหมาะสมในอนาคตหรือไม่ คือurl()
มีประสิทธิภาพมากขึ้น แต่มีความซับซ้อนมากขึ้นดังนั้นพวกเขากำลังใช้path()
ในการเริ่มต้นเราออกมาด้วย? หรือเป็นกรณีของเครื่องมือต่าง ๆ สำหรับงานต่าง ๆ ?
path()
url()
หากคุณต้องการหรือจำเป็นต้องใช้ regexes แล้วคุณจะต้องใช้หรือre_path()
url()
นอกเหนือจากนั้นฉันคิดว่ามันขึ้นอยู่กับคุณว่าจะเลือกแบบไหน