Django Urls & Views
Django uygulamalarına yapılan http taleplerini karşımak için url şeması oluşturmamız gerekiyor.
Django Urls
Projeye eklediğimiz uygulama içerisine urls.py isminde bir dosya eklememiz gerekiyor.
from django.urls import path from . import views urlpatterns = [ path("", views.index), path("index", views.index), path("posts", views.posts), ]
Burada eklediğimiz her bir path aslında uygulamaya yapılan istek adresini (url) şekillendirdiğimiz yerdir.
Her bir http talebi sonucunda views.py dosyası içerisindeki metota çağrı yapılır.
Örneğin;
http://127.0.0.1:8000/ => index metodu http://127.0.0.1:8000/index => index metodu http://127.0.0.1:8000/posts => posts metodu
O halde artık uygulamaya yapılan talepleri ilgili metotlara yönlendirebiliyorsak şimdi kullanıcılara bir cevap döndürebiliriz. (Http Response).
Django Views
from django.http.response import HttpResponse def index(request): return HttpResponse("anasayfa") def posts(request): return HttpResponse("blog listesi")
Uygulamayı çalıştırdığımızda artık bir cevap döndürmeye hazırız ancak uygulamadaki urls.py dosyasını proje ana dizinindeki urls.py dosyasına tanıtmamız gerekiyor.
from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('blog.urls')), ]
Artık projeyi çalıştırdığımızda aşağıdaki linklerimizi karşılayacak bir url şemamız mevcut.
http://127.0.0.1:8000/ => index metodu http://127.0.0.1:8000/index => index metodu http://127.0.0.1:8000/posts => posts metodu
Projenin url şemasına bir ön ek ekleyebiliriz.
urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include('blog.urls')), ]
Bu durumda tüm linklerin başında blog ön eki olacaktır.
http://127.0.0.1:8000/blog => index metodu http://127.0.0.1:8000/blog/index => index metodu http://127.0.0.1:8000/blog/posts => posts metodu