Что означает аргумент пути django urlpattern пустой (' ')?
что означает path('') в urls.py из проекта?
Это urls.py из проекта.
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls'))
]
А это urls.py из app
urlpatterns = [
path('', views.index),
path('create/', views.create),
path('read/id/', views.read),
]
Является ли path('') в urls.py из проекта просто пустым?
Если это так, то почему когда я пишу localhost:8080/create
?Это все еще будет работать? Я просто маршрутизирую path('') в urls.py из проекта. Означает ли это "кроме admin/" ...?
это означает, что пути ниже myapp.urls
будут добавлены без префикса, что означает, что пути будут такими:
admin/ … (all admin urls) / → views.index create/ → views.create read/id/ → views.read
Однако путь к read
должен содержать параметр URL, а не id
в реальном пути, поэтому:
urlpatterns = [
path('', views.index),
path('create/', views.create),
path('read/<int:id>/', views.read),
]
Если бы вы добавили значение к пути, например:
urlpatterns = [
path('admin/', admin.site.urls),
path('foo/', include('myapp.urls')),
]
тогда пути будут следующими:
admin/ … (all admin urls) foo/ → views.index foo/create/ → views.create foo/read/id/ → views.read