Understanding and defining Django URLs
Remember that /moviereviews/urls.py
is referenced each time someone types in a URL on our website – for example, localhost:8000/hello
.
For now, we get an error page when we go to the preceding URL. So, how do we display a proper page for it? Each time a user types in a URL, the request passes through urls.py
and sees whether the URL matches any defined paths so that the Django server can return an appropriate response.
urls.py
currently has the following code:
from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ]
When a request passes through urls.py
, it will try to match a path
object in urlpatterns
– for example, if a user enters http://localhost:8000/admin
into the browser, the URL will match the admin/
path. The server will then respond with the Django admin site (as shown in Figure 3.1), which we will explore later: