プロローグ
djnagoのチュートリアルなどを勉強していると、urls.pyに出てくる関数で、urlとpath関数がある。
ネットの海はいろんな情報が出てくるので、調べていると古い情報にたくさん出くわしたりするので戸惑ったりすると思う。
urlとpathの違い
1.1以前はdjango.conf.urls.urlという書き方一択だった。
from django.contrib import admin
from django.conf.urls import url
urlpatterns = [
url(r'^admin/', admin.site.urls)
]
しかし、django2.0以降にはdjango.urls.pathが追加で導入された
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
2.0以降でも、もちろんurlも使えるのだけど、個人的な理解としてはdjangoがstartprojectで自動生成するurls.pyの記述はpathだし、urlがあるのにpathがわざわざ追加されたわけなので、「2.0以降はpathを使う」という解釈で理解している。
古い記事などでurlを見かけたりするので注意である