2 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個贊
從 Django 2url()開始,被替換為path()and re_path()。如果你沒有使用 Django 1,你可以更新你的代碼以使用path().
from django.urls import path, include
urlpatterns = [
path('accounts/', include('allauth.urls')),
]
為了匹配帶有 RegEx 的路徑,如 Django 1url()函數(shù),您可以re_path()像這樣使用...
from django.urls import path, include
urlpatterns = [
re_path(r'^accounts/', include('allauth.urls')),
]
但是,由于您嘗試匹配的路徑非常簡單,我建議您使用path(). 它節(jié)省了執(zhí)行正則表達(dá)式匹配的開銷。盡可能多地path()使用。re_path()
您可以在官方 Django 文檔中閱讀更多信息。請參閱下面的鏈接。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個贊
您可能正在使用Django 2.x
為了django-1.x,你不能使用這樣path(..)
的s,在這種情況下你需要寫一個正則表達(dá)式,比如:
url(r'^complete/(?P<todo_id>[0-9]+)$', views.completeTodo, name='complete'),
如果您正在使用django-2.x,您可能想使用path(..)
,就像您擁有的一樣。
我相信這可能與您設(shè)置正則表達(dá)式的方式有關(guān)。
對于 url,而不是這個:
url('complete/<todo_id>', views.completeTodo, name='complete'),
嘗試這個:
url(r'^complete/(?P<todo_id>\d+)$', views.completeTodo, name='complete'),
或者如果你想使用 [ path
]
path('complete/<int:todo_id>', views.completeTodo, name='complete'),
添加回答
舉報(bào)