{"id":16882,"date":"2025-04-01T16:15:17","date_gmt":"2025-04-01T13:15:17","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/"},"modified":"2025-04-01T16:15:17","modified_gmt":"2025-04-01T13:15:17","slug":"django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/","title":{"rendered":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler"},"content":{"rendered":"<p><body><\/p>\n<p>Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler<\/p>\n<p>Merhaba! Bu yaz\u0131da, Django REST Framework&#8217;\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API&#8217;si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m.  Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde,  class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir.  Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API&#8217;nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca,  <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.<\/p>\n<h2>Proje Kurulumu<\/h2>\n<p>\u00d6ncelikle, bir Django projesi olu\u015fturup gerekli paketleri y\u00fcklememiz gerekiyor.  Bunun i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\ndjango-admin startproject student_management\ncd student_management\npython manage.py startapp students\npip install djangorestframework\n<\/code><\/pre>\n<p>Ard\u0131ndan, settings.py dosyas\u0131na rest_framework uygulamas\u0131n\u0131 ekleyin.  Bu ad\u0131m, REST Framework&#8217;\u00fc projenizde kullanabilmeniz i\u00e7in gereklidir.  Unutmay\u0131n ki, bu i\u015flem do\u011fru bir \u015fekilde yap\u0131lmal\u0131d\u0131r, aksi halde sistem \u00e7al\u0131\u015fmayabilir.<\/p>\n<h2>Model Tan\u0131mlama<\/h2>\n<p>\u00d6\u011frenci bilgilerini saklamak i\u00e7in bir model tan\u0131mlayal\u0131m.  Bu model, \u00f6\u011frencinin ad\u0131n\u0131, soyad\u0131n\u0131 ve \u00f6\u011frenci numaras\u0131n\u0131 i\u00e7erecektir.  students\/models.py dosyas\u0131na a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code class=\"language-python\">\nfrom django.db import models\n\nclass Student(models.Model):\n    first_name = models.CharField(max_length=100)\n    last_name = models.CharField(max_length=100)\n    student_id = models.CharField(max_length=10, unique=True)\n\n    def __str__(self):\n        return f\"{self.first_name} {self.last_name}\"\n<\/code><\/pre>\n<p>Bu model tan\u0131mland\u0131ktan sonra, veritaban\u0131 g\u00f6\u00e7lerini uygulaman\u0131z gerekmektedir.  A\u015fa\u011f\u0131daki komutu kullanarak bunu ger\u00e7ekle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\npython manage.py makemigrations\npython manage.py migrate\n<\/code><\/pre>\n<h2>Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler<\/h2>\n<p>\u015eimdi, \u00f6\u011frenciler i\u00e7in CRUD i\u015flemlerini ger\u00e7ekle\u015ftirecek fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler olu\u015ftural\u0131m. students\/views.py dosyas\u0131na a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code class=\"language-python\">\nfrom rest_framework.decorators import api_view\nfrom rest_framework.response import Response\nfrom .models import Student\nfrom .serializers import StudentSerializer # Daha sonra tan\u0131mlayaca\u011f\u0131z\n\n@api_view(['GET'])\ndef student_list(request):\n    students = Student.objects.all()\n    serializer = StudentSerializer(students, many=True)\n    return Response(serializer.data)\n\n@api_view(['GET', 'POST'])\ndef student_detail(request, pk):\n    try:\n        student = Student.objects.get(pk=pk)\n    except Student.DoesNotExist:\n        return Response(status=404)\n\n    if request.method == 'GET':\n        serializer = StudentSerializer(student)\n        return Response(serializer.data)\n    elif request.method == 'POST':\n        serializer = StudentSerializer(student, data=request.data)\n        if serializer.is_valid():\n            serializer.save()\n            return Response(serializer.data)\n        return Response(serializer.errors, status=400)\n\n# ... Di\u011fer CRUD i\u015flemleri i\u00e7in benzer fonksiyonlar eklenebilir ...\n<\/code><\/pre>\n<p>Bu kodda, api_view decorator&#8217;\u00fc ile fonksiyonlar\u0131m\u0131z\u0131 API g\u00f6r\u00fcn\u00fcmleri olarak tan\u0131ml\u0131yoruz.  StudentSerializer ise daha sonra tan\u0131mlayaca\u011f\u0131m\u0131z ve model verilerini JSON format\u0131na d\u00f6n\u00fc\u015ft\u00fcrecek bir serilayz\u0131r. <\/p>\n<h2>Serializer Tan\u0131mlama<\/h2>\n<p>Model verilerini JSON format\u0131na d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in bir serializer tan\u0131mlamam\u0131z gerekmektedir.  students\/serializers.py dosyas\u0131na a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code class=\"language-python\">\nfrom rest_framework import serializers\nfrom .models import Student\n\nclass StudentSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = Student\n        fields = '__all__'\n<\/code><\/pre>\n<p>Bu serializer, t\u00fcm model alanlar\u0131n\u0131 i\u00e7erir. \u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re alanlar\u0131 \u00f6zelle\u015ftirebilirsiniz.  Bu olduk\u00e7a basit bir \u00f6rnektir ve daha karma\u015f\u0131k senaryolar i\u00e7in \u00f6zelle\u015ftirmeler gerekebilir.  \u00d6rne\u011fin,  do\u011frulama eklemek veya farkl\u0131 alanlar\u0131 g\u00f6stermek isteyebilirsiniz.<\/p>\n<h2>URL Routing<\/h2>\n<p>Son olarak, URL&#8217;leri g\u00f6r\u00fcn\u00fcmlere ba\u011flamam\u0131z gerekiyor.  students\/urls.py dosyas\u0131na a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code class=\"language-python\">\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('students\/', views.student_list),\n    path('students\/<int:pk>\/', views.student_detail),\n]\n<\/code><\/pre>\n<p>Ve bu URL&#8217;leri ana urls.py dosyas\u0131na dahil edin.  Bu i\u015flemler sonras\u0131nda, API&#8217;nizi test edebilirsiniz.<\/p>\n<h2>API Test Etme<\/h2>\n<p>API&#8217;nizi test etmek i\u00e7in Postman veya curl gibi ara\u00e7lar\u0131 kullanabilirsiniz.  \u00d6rne\u011fin, t\u00fcm \u00f6\u011frencileri listelemek i\u00e7in  http:\/\/localhost:8000\/students\/ adresine GET iste\u011fi g\u00f6nderebilirsiniz.  Bu,  Django REST Framework&#8217;\u00fcn sa\u011flad\u0131\u011f\u0131 kolayl\u0131klar sayesinde ger\u00e7ekle\u015fir.  Unutmay\u0131n,  hata ay\u0131klama s\u00fcreci \u00f6nemlidir ve sorunlar\u0131 h\u0131zl\u0131 bir \u015fekilde \u00e7\u00f6zmenize yard\u0131mc\u0131 olabilir.<\/p>\n<p>Bu makale, Django REST Framework ile fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler kullanarak basit bir \u00f6\u011frenci y\u00f6netim sistemi API&#8217;si olu\u015fturmay\u0131 kapsar.  Daha geli\u015fmi\u015f \u00f6zellikler eklemek i\u00e7in,  do\u011frulama, yetkilendirme ve daha karma\u015f\u0131k serializer&#8217;lar kullanman\u0131z gerekebilir.  Daha fazla bilgi i\u00e7in,  <a href=\"https:\/\/www.django-rest-framework.org\/\">Django REST Framework resmi dok\u00fcmanlar\u0131n\u0131<\/a> inceleyebilirsiniz.  Ayr\u0131ca, bu rehberde kullan\u0131lan y\u00f6ntemler,   <a href=\"https:\/\/dev.to\/ebereplenty\/master-django-rest-framework-build-a-student-management-system-api-with-function-based-views-1plc\">bu \u0130ngilizce makale<\/a>den esinlenilmi\u015ftir.<\/p>\n<p>Umar\u0131m bu rehber size yard\u0131mc\u0131 olmu\u015ftur!  <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresinden daha fazla Django i\u00e7eri\u011fi bulabilirsiniz.<\/p>\n<p>#Etiketler: Django, REST Framework, API, \u00f6\u011frenci y\u00f6netim sistemi, fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, Python, tutorial, rehber, CRUD, serializer, model, views, urls<br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler Merhaba! Bu yaz\u0131da, Django REST Framework&#8217;\u00fc kullanarak&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-16882","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#039;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler<\/title>\n<meta name=\"description\" content=\"Merhaba! Bu yaz\u0131da, Django REST Framework&#039;\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API&#039;si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde, class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir. Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API&#039;nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca, fatihsoysal.com sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#039;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Bu yaz\u0131da, Django REST Framework&#039;\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API&#039;si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde, class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir. Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API&#039;nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca, fatihsoysal.com sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-01T13:15:17+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler\",\"datePublished\":\"2025-04-01T13:15:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\"},\"wordCount\":617,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\",\"name\":\"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API'si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-04-01T13:15:17+00:00\",\"description\":\"Merhaba! Bu yaz\u0131da, Django REST Framework'\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API'si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde, class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir. Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API'nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca, fatihsoysal.com sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API'si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler","description":"Merhaba! Bu yaz\u0131da, Django REST Framework'\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API'si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde, class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir. Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API'nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca, fatihsoysal.com sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/","og_locale":"tr_TR","og_type":"article","og_title":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API'si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler","og_description":"Merhaba! Bu yaz\u0131da, Django REST Framework'\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API'si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde, class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir. Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API'nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca, fatihsoysal.com sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-04-01T13:15:17+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler","datePublished":"2025-04-01T13:15:17+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/"},"wordCount":617,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/","url":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/","name":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API'si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-04-01T13:15:17+00:00","description":"Merhaba! Bu yaz\u0131da, Django REST Framework'\u00fc kullanarak fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmlerle bir \u00f6\u011frenci y\u00f6netim sistemi API'si nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Fonksiyon tabanl\u0131 g\u00f6r\u00fcn\u00fcmler, \u00f6zellikle daha k\u00fc\u00e7\u00fck ve basit projelerde, class tabanl\u0131 g\u00f6r\u00fcn\u00fcmlere g\u00f6re daha temiz ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131m sunabilir. Bu rehberde, temel CRUD (Create, Read, Update, Delete) i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ve API'nizin g\u00fcvenli\u011fini nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 g\u00f6receksiniz. Ayr\u0131ca, fatihsoysal.com sitesinden daha fazla Django REST Framework i\u00e7eri\u011fi bulabilirsiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/django-rest-framework-ile-ogrenci-yonetim-sistemi-apisi-fonksiyon-tabanli-gorunumler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Django REST Framework ile \u00d6\u011frenci Y\u00f6netim Sistemi API&#8217;si: Fonksiyon Tabanl\u0131 G\u00f6r\u00fcn\u00fcmler"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/16882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=16882"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/16882\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=16882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=16882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=16882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}