In Django term, routing is the defining of «URLconfig» in the module urls.py. Moreover, all routes are linked to different controller or «view» in Django term. Conventinally, all controllers or views are sotred in a module called «views.py». In fact, to create a route linked to a function that would run when we open the home page of our Django app, we should write the code as below:
#mysite/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
#mysite/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World!")
In sum, routing in Django could be done as below:
from django.urls import path, re_path
from . import views
urlpatterns = [
path('articles/2003/', views.special_case_2003),
path('articles/<int:year>/', views.year_archive),
path('articles/<int:year>/<int:month>/', views.month_archive),
path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),
re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),
]
GitHub: https://github.com/Sokhavuth/django
Heroku: https://khmerweb-django.herokuapp.com/














