Trong một khóa học trực tuyến django, người hướng dẫn đã cho chúng tôi sử dụng url()
chức năng để gọi các khung nhìn và sử dụng các biểu thức thông thường trong danh sách urlpotypes. Tôi đã thấy các ví dụ khác trên youtube về điều này. ví dụ
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"),
]
Tuy nhiên, trong quá trình thực hiện hướng dẫn Django, họ sử dụng path()
thay vì:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
Hơn nữa, các biểu thức chính quy dường như không hoạt động với path()
chức năng như sử dụng chế độ xem path(r'^$', views.index, name="index")
không tìm thấy mysite.com/polls/
.
Là sử dụng path()
mà không có regex phù hợp với cách thích hợp trong tương lai? Là url()
mạnh hơn nhưng phức tạp hơn vì vậy họ đang sử dụng path()
để bắt đầu chúng tôi ra với? Hay đó là một trường hợp của các công cụ khác nhau cho các công việc khác nhau?
path()
vàurl()
. Nếu bạn muốn hoặc cần sử dụng regexes, thì bạn phải sử dụngre_path()
hoặcurl()
. Ngoài ra, tôi nghĩ nó thực sự tùy thuộc vào bạn chọn cái nào.