{"id":713,"date":"2024-11-30T23:12:19","date_gmt":"2024-11-30T20:12:19","guid":{"rendered":"https:\/\/aslihankaratas.com\/?p=713"},"modified":"2024-12-09T19:30:14","modified_gmt":"2024-12-09T16:30:14","slug":"django-uygulama","status":"publish","type":"post","link":"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/","title":{"rendered":"DJANGO UYGULAMA"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Replit&#8217;te Yeni Proje Olu\u015fturma<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Replit&#8217;e giri\u015f yap\u0131n.<\/strong> (<a href=\"https:\/\/replit.com\">Replit web sitesi<\/a>)<\/li>\n\n\n\n<li><strong>Yeni bir repl olu\u015fturun:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Sa\u011f \u00fcstteki <strong>&#8220;Create Repl&#8221;<\/strong> d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n\n\n\n<li><strong>Template<\/strong> k\u0131sm\u0131nda <strong>Python<\/strong>&#8216;u se\u00e7in.<\/li>\n\n\n\n<li>Projeye bir isim verin (\u00f6rne\u011fin, <code>django-blog<\/code>).<\/li>\n\n\n\n<li><strong>&#8220;Create Repl&#8221;<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Django&#8217;yu Y\u00fckleme<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Replit&#8217;te Django\u2019yu kurmak i\u00e7in, sol tarafta yer alan <strong>&#8220;Shell&#8221;<\/strong> b\u00f6l\u00fcm\u00fcne gidin ve \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>pip install django<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu komut, Django&#8217;yu projeye y\u00fckleyecektir.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Django Projesi Olu\u015fturma<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Django projesini ba\u015flatmak i\u00e7in \u015fu komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>a) Django Projesi Ba\u015flatma<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>django-admin startproject blog .<br><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bu komut, bir <strong>Django projesi<\/strong> olu\u015fturur.<\/li>\n\n\n\n<li><code>.<\/code> (nokta), proje dosyalar\u0131n\u0131n ana dizine olu\u015fturulmas\u0131n\u0131 sa\u011flar.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Django Uygulamas\u0131 (App) Olu\u015fturma<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Blog yaz\u0131lar\u0131m\u0131z\u0131 olu\u015fturmak i\u00e7in bir uygulama ba\u015flatmam\u0131z gerekiyor. Bunun i\u00e7in:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>python manage.py startapp posts\n<\/code><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bu komut, <code>posts<\/code> ad\u0131nda bir Django uygulamas\u0131 olu\u015fturur.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Uygulamay\u0131 Ayarlara Ekleyin<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>blog\/settings.py<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve <strong><code>INSTALLED_APPS<\/code><\/strong> listesine <code>posts<\/code> uygulamas\u0131n\u0131 ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>INSTALLED_APPS = [<br>    'posts',<br>    'django.contrib.admin',<br>    'django.contrib.auth',<br>    'django.contrib.contenttypes',<br>    'django.contrib.sessions',<br>    'django.contrib.messages',<br>    'django.contrib.staticfiles',<br>]<br><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Blog Yaz\u0131lar\u0131 \u0130\u00e7in Model Tan\u0131mlama<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>posts\/models.py<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from django.db import models<br><br>class BlogPost(models.Model):<br>    title = models.CharField(max_length=200)  # Ba\u015fl\u0131k<br>    content = models.TextField()             # \u0130\u00e7erik<br>    published_date = models.DateTimeField(auto_now_add=True)  # Yay\u0131nlanma tarihi<br><br>    def __str__(self):<br>        return self.title<br><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Veritaban\u0131n\u0131 G\u00fcncelleme<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Modeli veritaban\u0131na eklemek i\u00e7in \u015fu komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>De\u011fi\u015fiklikleri kaydet<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>python manage.py makemigrations<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Veritaban\u0131n\u0131 olu\u015ftur<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>python manage.py migrate<\/code><\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\"><\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Admin Paneli \u0130\u00e7in Superuser Olu\u015fturma<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Admin paneline giri\u015f yapabilmek i\u00e7in bir s\u00fcper kullan\u0131c\u0131 olu\u015fturun:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>python manage.py createsuperuser<br><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kullan\u0131c\u0131 ad\u0131, e-posta ve \u015fifreyi<\/strong> girdikten sonra s\u00fcper kullan\u0131c\u0131 olu\u015fturulacakt\u0131r.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>9. Admin Paneline Model Ekleyin<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>posts\/admin.py<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu kodu ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from django.contrib import admin<br>from .models import BlogPost<br><br>admin.site.register(BlogPost)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu, <code>BlogPost<\/code> modelini admin panelinde g\u00f6r\u00fcn\u00fcr hale getirecektir.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>10. View ve Template Ayarlar\u0131<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>a) G\u00f6r\u00fcn\u00fcm (View) Ekleyin<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>posts\/views.py<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from django.shortcuts import render<br>from .models import BlogPost<br><br>def home(request):<br>    posts = BlogPost.objects.all()<br>    return render(request, 'home.html', {'posts': posts})<br><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>b) \u015eablon (Template) Ekleyin<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>posts\/templates<\/code> adl\u0131 bir klas\u00f6r olu\u015fturun.<\/li>\n\n\n\n<li>Bu klas\u00f6r\u00fcn i\u00e7inde <code>home.html<\/code> ad\u0131nda bir dosya olu\u015fturun ve \u015fu kodlar\u0131 ekleyin:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;html>\n&lt;html>\n&lt;head>\n    &lt;title>Blog&lt;\/title>\n&lt;\/head>\n&lt;body>\n    &lt;h1>Blog Yaz\u0131lar\u0131&lt;\/h1>\n    &lt;ul>\n        {% for post in posts %}\n            &lt;li>&lt;strong>{{ post.title }}&lt;\/strong> - {{ post.published_date }}&lt;\/li>\n            &lt;p>{{ post.content }}&lt;\/p>\n        {% endfor %}\n    &lt;\/ul>\n&lt;\/body>\n&lt;\/html>\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>11. URL&#8217;leri Ayarlama<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>a) Uygulama URL&#8217;leri<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>posts\/urls.py<\/code> ad\u0131nda bir dosya olu\u015fturun ve \u015fu kodlar\u0131 ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>from django.urls import path<br>from . import views<br><br>urlpatterns = &#91;<br>    path('', views.home, name='home'),<br>]<br><\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>b) Proje URL&#8217;leri<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>blog\/urls.py<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu \u015fekilde d\u00fczenleyin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>from django.contrib import admin<br>from django.urls import path, include<br><br>urlpatterns = &#91;<br>    path('admin\/', admin.site.urls),<br>    path('', include('posts.urls')),  # Uygulama URL'lerini dahil et<br>]<br><\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>12. Sunucuyu \u00c7al\u0131\u015ft\u0131rma<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Replit&#8217;te Django sunucusunu ba\u015flatmak i\u00e7in \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>python manage.py runserver 0.0.0.0:8000<br><\/code><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Replit<\/strong> otomatik olarak bir URL olu\u015fturur ve bu URL&#8217;yi t\u0131klayarak projenizi g\u00f6rebilirsiniz.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>13. Admin Panelini Kullanma<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replit&#8217;teki admin paneline gitmek i\u00e7in <code>\/admin<\/code> ekleyin (\u00f6r. <code>https:\/\/&lt;replit_url&gt;\/admin<\/code>).<\/li>\n\n\n\n<li>S\u00fcper kullan\u0131c\u0131 bilgileriyle giri\u015f yaparak blog yaz\u0131lar\u0131 ekleyebilir veya d\u00fczenleyebilirsiniz.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>14. Projenizi Yay\u0131nlama<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replit, projenizi otomatik olarak bir web ba\u011flant\u0131s\u0131 \u00fczerinden eri\u015filebilir hale getirir.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">HATALAR<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">settings.py Dosyas\u0131n\u0131 A\u00e7\u0131n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>blog\/settings.py dosyas\u0131n\u0131 bulun ve d\u00fczenleyin.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">ALLOWED_HOSTS Listesine Replit URL&#8217;sini Ekleyin<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ALLOWED_HOSTS ayar\u0131n\u0131 bulun.<\/li>\n\n\n\n<li>Bu listeye Replit URL&#8217;nizi ekleyin.<\/li>\n\n\n\n<li>Replit URL&#8217;si hata mesaj\u0131nda belirtilmi\u015ftir (\u00f6rne\u011fin: b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev).<\/li>\n\n\n\n<li>Bu URL, Replit&#8217;in Django projeniz i\u00e7in olu\u015fturdu\u011fu benzersiz alan ad\u0131d\u0131r.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ALLOWED_HOSTS = &#91;'<strong>b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev<\/strong>']<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sunucuyu Yeniden Ba\u015flat\u0131n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>De\u011fi\u015fikliklerden sonra Django sunucusunu yeniden ba\u015flat\u0131n:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>python manage.py runserver 0.0.0.0:8000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Admin Paneline Eri\u015fim:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replit taraf\u0131ndan olu\u015fturulan \u00f6zel URL&#8217;yi kullanarak projenizi taray\u0131c\u0131da g\u00f6r\u00fcnt\u00fcleyebilirsiniz.<\/li>\n\n\n\n<li><strong>http:\/\/b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Django admin paneline giri\u015f yapmak i\u00e7in, URL&#8217;nizin sonuna <strong>\/admin<\/strong> ekleyin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev\/admin<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ba\u015fka Bir Port Deneyin<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replit&#8217;teki varsay\u0131lan port 8000 olabilir, ancak farkl\u0131 bir port kullanmay\u0131 da deneyebilirsiniz.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Django sunucusunu farkl\u0131 bir portta ba\u015flat\u0131n:<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>python manage.py runserver 0.0.0.0:8080<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">*OPS\u0130YONEL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00fcm Etki Alanlar\u0131n\u0131 Kabul Etmek \u0130\u00e7in<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Geli\u015ftirme ortam\u0131nda, g\u00fcvenlik kayg\u0131s\u0131 olmadan t\u00fcm etki alanlar\u0131n\u0131 kabul etmek isterseniz:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ALLOWED_HOSTS = [&#8216;*&#8217;]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*tavsiye edilmez!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d6NER\u0130<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.btkakademi.gov.tr\/portal\/course\/django-ile-web-gelistirme-23063\">SERT\u0130F\u0130KALI E\u011e\u0130T\u0130M<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Replit&#8217;te Yeni Proje Olu\u015fturma 2. Django&#8217;yu Y\u00fckleme Replit&#8217;te Django\u2019yu kurmak i\u00e7in, sol tarafta yer alan &#8220;Shell&#8221; b\u00f6l\u00fcm\u00fcne gidin ve \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n: pip install django Bu komut, Django&#8217;yu projeye y\u00fckleyecektir. 3. Django Projesi Olu\u015fturma Django projesini ba\u015flatmak i\u00e7in \u015fu komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n: a) Django Projesi Ba\u015flatma django-admin startproject blog . 4. Django Uygulamas\u0131 (App) Olu\u015fturma Blog yaz\u0131lar\u0131m\u0131z\u0131 olu\u015fturmak i\u00e7in bir uygulama ba\u015flatmam\u0131z gerekiyor. Bunun i\u00e7in: 5. Uygulamay\u0131 Ayarlara Ekleyin blog\/settings.py dosyas\u0131n\u0131 a\u00e7\u0131n ve INSTALLED_APPS listesine posts uygulamas\u0131n\u0131 ekleyin: INSTALLED_APPS = [ &#8216;posts&#8217;, &#8216;django.contrib.admin&#8217;, &#8216;django.contrib.auth&#8217;, &#8216;django.contrib.contenttypes&#8217;, &#8216;django.contrib.sessions&#8217;, &#8216;django.contrib.messages&#8217;, &#8216;django.contrib.staticfiles&#8217;,] 6. Blog Yaz\u0131lar\u0131 \u0130\u00e7in Model Tan\u0131mlama posts\/models.py dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin: from django.db import modelsclass BlogPost(models.Model): title = models.CharField(max_length=200) # Ba\u015fl\u0131k content = models.TextField() # \u0130\u00e7erik published_date = models.DateTimeField(auto_now_add=True) # Yay\u0131nlanma tarihi def __str__(self): return self.title 7. Veritaban\u0131n\u0131 G\u00fcncelleme Modeli veritaban\u0131na eklemek i\u00e7in \u015fu komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n: De\u011fi\u015fiklikleri kaydet Veritaban\u0131n\u0131 olu\u015ftur 8. Admin Paneli \u0130\u00e7in Superuser Olu\u015fturma Admin paneline giri\u015f yapabilmek i\u00e7in bir s\u00fcper kullan\u0131c\u0131 olu\u015fturun: python manage.py createsuperuser 9. Admin Paneline Model Ekleyin posts\/admin.py dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu kodu ekleyin: from django.contrib import adminfrom .models import BlogPostadmin.site.register(BlogPost) Bu, BlogPost modelini admin panelinde g\u00f6r\u00fcn\u00fcr hale getirecektir. 10. View ve Template Ayarlar\u0131 a) G\u00f6r\u00fcn\u00fcm (View) Ekleyin posts\/views.py dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin: from django.shortcuts import renderfrom .models import BlogPostdef home(request): posts = BlogPost.objects.all() return render(request, &#8216;home.html&#8217;, {&#8216;posts&#8217;: posts}) b) \u015eablon (Template) Ekleyin 11. URL&#8217;leri Ayarlama a) Uygulama URL&#8217;leri posts\/urls.py ad\u0131nda bir dosya olu\u015fturun ve \u015fu kodlar\u0131 ekleyin: b) Proje URL&#8217;leri blog\/urls.py dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu \u015fekilde d\u00fczenleyin: 12. Sunucuyu \u00c7al\u0131\u015ft\u0131rma Replit&#8217;te Django sunucusunu ba\u015flatmak i\u00e7in \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n: 13. Admin Panelini Kullanma 14. Projenizi Yay\u0131nlama HATALAR settings.py Dosyas\u0131n\u0131 A\u00e7\u0131n ALLOWED_HOSTS Listesine Replit URL&#8217;sini Ekleyin Sunucuyu Yeniden Ba\u015flat\u0131n Admin Paneline Eri\u015fim: Django admin paneline giri\u015f yapmak i\u00e7in, URL&#8217;nizin sonuna \/admin ekleyin: Ba\u015fka Bir Port Deneyin *OPS\u0130YONEL T\u00fcm Etki Alanlar\u0131n\u0131 Kabul Etmek \u0130\u00e7in Geli\u015ftirme ortam\u0131nda, g\u00fcvenlik kayg\u0131s\u0131 olmadan t\u00fcm etki alanlar\u0131n\u0131 kabul etmek isterseniz: ALLOWED_HOSTS = [&#8216;*&#8217;] *tavsiye edilmez! \u00d6NER\u0130 SERT\u0130F\u0130KALI E\u011e\u0130T\u0130M<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-713","post","type-post","status-publish","format-standard","hentry","category-genel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DJANGO UYGULAMA - ASLIHAN KARATA\u015e<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DJANGO UYGULAMA - ASLIHAN KARATA\u015e\" \/>\n<meta property=\"og:description\" content=\"Replit&#8217;te Yeni Proje Olu\u015fturma 2. Django&#8217;yu Y\u00fckleme Replit&#8217;te Django\u2019yu kurmak i\u00e7in, sol tarafta yer alan &#8220;Shell&#8221; b\u00f6l\u00fcm\u00fcne gidin ve \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n: pip install django Bu komut, Django&#8217;yu projeye y\u00fckleyecektir. 3. Django Projesi Olu\u015fturma Django projesini ba\u015flatmak i\u00e7in \u015fu komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n: a) Django Projesi Ba\u015flatma django-admin startproject blog . 4. Django Uygulamas\u0131 (App) Olu\u015fturma Blog yaz\u0131lar\u0131m\u0131z\u0131 olu\u015fturmak i\u00e7in bir uygulama ba\u015flatmam\u0131z gerekiyor. Bunun i\u00e7in: 5. Uygulamay\u0131 Ayarlara Ekleyin blog\/settings.py dosyas\u0131n\u0131 a\u00e7\u0131n ve INSTALLED_APPS listesine posts uygulamas\u0131n\u0131 ekleyin: INSTALLED_APPS = [ &#039;posts&#039;, &#039;django.contrib.admin&#039;, &#039;django.contrib.auth&#039;, &#039;django.contrib.contenttypes&#039;, &#039;django.contrib.sessions&#039;, &#039;django.contrib.messages&#039;, &#039;django.contrib.staticfiles&#039;,] 6. Blog Yaz\u0131lar\u0131 \u0130\u00e7in Model Tan\u0131mlama posts\/models.py dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin: from django.db import modelsclass BlogPost(models.Model): title = models.CharField(max_length=200) # Ba\u015fl\u0131k content = models.TextField() # \u0130\u00e7erik published_date = models.DateTimeField(auto_now_add=True) # Yay\u0131nlanma tarihi def __str__(self): return self.title 7. Veritaban\u0131n\u0131 G\u00fcncelleme Modeli veritaban\u0131na eklemek i\u00e7in \u015fu komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n: De\u011fi\u015fiklikleri kaydet Veritaban\u0131n\u0131 olu\u015ftur 8. Admin Paneli \u0130\u00e7in Superuser Olu\u015fturma Admin paneline giri\u015f yapabilmek i\u00e7in bir s\u00fcper kullan\u0131c\u0131 olu\u015fturun: python manage.py createsuperuser 9. Admin Paneline Model Ekleyin posts\/admin.py dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu kodu ekleyin: from django.contrib import adminfrom .models import BlogPostadmin.site.register(BlogPost) Bu, BlogPost modelini admin panelinde g\u00f6r\u00fcn\u00fcr hale getirecektir. 10. View ve Template Ayarlar\u0131 a) G\u00f6r\u00fcn\u00fcm (View) Ekleyin posts\/views.py dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin: from django.shortcuts import renderfrom .models import BlogPostdef home(request): posts = BlogPost.objects.all() return render(request, &#039;home.html&#039;, {&#039;posts&#039;: posts}) b) \u015eablon (Template) Ekleyin 11. URL&#8217;leri Ayarlama a) Uygulama URL&#8217;leri posts\/urls.py ad\u0131nda bir dosya olu\u015fturun ve \u015fu kodlar\u0131 ekleyin: b) Proje URL&#8217;leri blog\/urls.py dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu \u015fekilde d\u00fczenleyin: 12. Sunucuyu \u00c7al\u0131\u015ft\u0131rma Replit&#8217;te Django sunucusunu ba\u015flatmak i\u00e7in \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n: 13. Admin Panelini Kullanma 14. Projenizi Yay\u0131nlama HATALAR settings.py Dosyas\u0131n\u0131 A\u00e7\u0131n ALLOWED_HOSTS Listesine Replit URL&#8217;sini Ekleyin Sunucuyu Yeniden Ba\u015flat\u0131n Admin Paneline Eri\u015fim: Django admin paneline giri\u015f yapmak i\u00e7in, URL&#8217;nizin sonuna \/admin ekleyin: Ba\u015fka Bir Port Deneyin *OPS\u0130YONEL T\u00fcm Etki Alanlar\u0131n\u0131 Kabul Etmek \u0130\u00e7in Geli\u015ftirme ortam\u0131nda, g\u00fcvenlik kayg\u0131s\u0131 olmadan t\u00fcm etki alanlar\u0131n\u0131 kabul etmek isterseniz: ALLOWED_HOSTS = [&#8216;*&#8217;] *tavsiye edilmez! \u00d6NER\u0130 SERT\u0130F\u0130KALI E\u011e\u0130T\u0130M\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/\" \/>\n<meta property=\"og:site_name\" content=\"ASLIHAN KARATA\u015e\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-30T20:12:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-09T16:30:14+00:00\" \/>\n<meta name=\"author\" content=\"aslihankaratas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"aslihankaratas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/\",\"url\":\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/\",\"name\":\"DJANGO UYGULAMA - ASLIHAN KARATA\u015e\",\"isPartOf\":{\"@id\":\"https:\/\/aslihankaratas.com\/#website\"},\"datePublished\":\"2024-11-30T20:12:19+00:00\",\"dateModified\":\"2024-12-09T16:30:14+00:00\",\"author\":{\"@id\":\"https:\/\/aslihankaratas.com\/#\/schema\/person\/28b7a61160b8d1bb18a217d5f1e856d4\"},\"breadcrumb\":{\"@id\":\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/aslihankaratas.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DJANGO UYGULAMA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/aslihankaratas.com\/#website\",\"url\":\"https:\/\/aslihankaratas.com\/\",\"name\":\"ASLIHAN KARATA\u015e\",\"description\":\"Lecturer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/aslihankaratas.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/aslihankaratas.com\/#\/schema\/person\/28b7a61160b8d1bb18a217d5f1e856d4\",\"name\":\"aslihankaratas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/aslihankaratas.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9b9ff8326f9ce8f3ae3e5c45df92cb1c62be24345bd251cd5a84bbe607b592b7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9b9ff8326f9ce8f3ae3e5c45df92cb1c62be24345bd251cd5a84bbe607b592b7?s=96&d=mm&r=g\",\"caption\":\"aslihankaratas\"},\"sameAs\":[\"http:\/\/aslihankaratas.com\"],\"url\":\"https:\/\/aslihankaratas.com\/index.php\/author\/aslihankaratas\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DJANGO UYGULAMA - ASLIHAN KARATA\u015e","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:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/","og_locale":"tr_TR","og_type":"article","og_title":"DJANGO UYGULAMA - ASLIHAN KARATA\u015e","og_description":"Replit&#8217;te Yeni Proje Olu\u015fturma 2. Django&#8217;yu Y\u00fckleme Replit&#8217;te Django\u2019yu kurmak i\u00e7in, sol tarafta yer alan &#8220;Shell&#8221; b\u00f6l\u00fcm\u00fcne gidin ve \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n: pip install django Bu komut, Django&#8217;yu projeye y\u00fckleyecektir. 3. Django Projesi Olu\u015fturma Django projesini ba\u015flatmak i\u00e7in \u015fu komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n: a) Django Projesi Ba\u015flatma django-admin startproject blog . 4. Django Uygulamas\u0131 (App) Olu\u015fturma Blog yaz\u0131lar\u0131m\u0131z\u0131 olu\u015fturmak i\u00e7in bir uygulama ba\u015flatmam\u0131z gerekiyor. Bunun i\u00e7in: 5. Uygulamay\u0131 Ayarlara Ekleyin blog\/settings.py dosyas\u0131n\u0131 a\u00e7\u0131n ve INSTALLED_APPS listesine posts uygulamas\u0131n\u0131 ekleyin: INSTALLED_APPS = [ 'posts', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',] 6. Blog Yaz\u0131lar\u0131 \u0130\u00e7in Model Tan\u0131mlama posts\/models.py dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin: from django.db import modelsclass BlogPost(models.Model): title = models.CharField(max_length=200) # Ba\u015fl\u0131k content = models.TextField() # \u0130\u00e7erik published_date = models.DateTimeField(auto_now_add=True) # Yay\u0131nlanma tarihi def __str__(self): return self.title 7. Veritaban\u0131n\u0131 G\u00fcncelleme Modeli veritaban\u0131na eklemek i\u00e7in \u015fu komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n: De\u011fi\u015fiklikleri kaydet Veritaban\u0131n\u0131 olu\u015ftur 8. Admin Paneli \u0130\u00e7in Superuser Olu\u015fturma Admin paneline giri\u015f yapabilmek i\u00e7in bir s\u00fcper kullan\u0131c\u0131 olu\u015fturun: python manage.py createsuperuser 9. Admin Paneline Model Ekleyin posts\/admin.py dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu kodu ekleyin: from django.contrib import adminfrom .models import BlogPostadmin.site.register(BlogPost) Bu, BlogPost modelini admin panelinde g\u00f6r\u00fcn\u00fcr hale getirecektir. 10. View ve Template Ayarlar\u0131 a) G\u00f6r\u00fcn\u00fcm (View) Ekleyin posts\/views.py dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki kodu ekleyin: from django.shortcuts import renderfrom .models import BlogPostdef home(request): posts = BlogPost.objects.all() return render(request, 'home.html', {'posts': posts}) b) \u015eablon (Template) Ekleyin 11. URL&#8217;leri Ayarlama a) Uygulama URL&#8217;leri posts\/urls.py ad\u0131nda bir dosya olu\u015fturun ve \u015fu kodlar\u0131 ekleyin: b) Proje URL&#8217;leri blog\/urls.py dosyas\u0131n\u0131 a\u00e7\u0131n ve \u015fu \u015fekilde d\u00fczenleyin: 12. Sunucuyu \u00c7al\u0131\u015ft\u0131rma Replit&#8217;te Django sunucusunu ba\u015flatmak i\u00e7in \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n: 13. Admin Panelini Kullanma 14. Projenizi Yay\u0131nlama HATALAR settings.py Dosyas\u0131n\u0131 A\u00e7\u0131n ALLOWED_HOSTS Listesine Replit URL&#8217;sini Ekleyin Sunucuyu Yeniden Ba\u015flat\u0131n Admin Paneline Eri\u015fim: Django admin paneline giri\u015f yapmak i\u00e7in, URL&#8217;nizin sonuna \/admin ekleyin: Ba\u015fka Bir Port Deneyin *OPS\u0130YONEL T\u00fcm Etki Alanlar\u0131n\u0131 Kabul Etmek \u0130\u00e7in Geli\u015ftirme ortam\u0131nda, g\u00fcvenlik kayg\u0131s\u0131 olmadan t\u00fcm etki alanlar\u0131n\u0131 kabul etmek isterseniz: ALLOWED_HOSTS = [&#8216;*&#8217;] *tavsiye edilmez! \u00d6NER\u0130 SERT\u0130F\u0130KALI E\u011e\u0130T\u0130M","og_url":"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/","og_site_name":"ASLIHAN KARATA\u015e","article_published_time":"2024-11-30T20:12:19+00:00","article_modified_time":"2024-12-09T16:30:14+00:00","author":"aslihankaratas","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"aslihankaratas","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/","url":"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/","name":"DJANGO UYGULAMA - ASLIHAN KARATA\u015e","isPartOf":{"@id":"https:\/\/aslihankaratas.com\/#website"},"datePublished":"2024-11-30T20:12:19+00:00","dateModified":"2024-12-09T16:30:14+00:00","author":{"@id":"https:\/\/aslihankaratas.com\/#\/schema\/person\/28b7a61160b8d1bb18a217d5f1e856d4"},"breadcrumb":{"@id":"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/aslihankaratas.com\/index.php\/2024\/11\/30\/django-uygulama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/aslihankaratas.com\/"},{"@type":"ListItem","position":2,"name":"DJANGO UYGULAMA"}]},{"@type":"WebSite","@id":"https:\/\/aslihankaratas.com\/#website","url":"https:\/\/aslihankaratas.com\/","name":"ASLIHAN KARATA\u015e","description":"Lecturer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aslihankaratas.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":"Person","@id":"https:\/\/aslihankaratas.com\/#\/schema\/person\/28b7a61160b8d1bb18a217d5f1e856d4","name":"aslihankaratas","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/aslihankaratas.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9b9ff8326f9ce8f3ae3e5c45df92cb1c62be24345bd251cd5a84bbe607b592b7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9b9ff8326f9ce8f3ae3e5c45df92cb1c62be24345bd251cd5a84bbe607b592b7?s=96&d=mm&r=g","caption":"aslihankaratas"},"sameAs":["http:\/\/aslihankaratas.com"],"url":"https:\/\/aslihankaratas.com\/index.php\/author\/aslihankaratas\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/posts\/713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/comments?post=713"}],"version-history":[{"count":5,"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/posts\/713\/revisions"}],"predecessor-version":[{"id":747,"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/posts\/713\/revisions\/747"}],"wp:attachment":[{"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/media?parent=713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/categories?post=713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aslihankaratas.com\/index.php\/wp-json\/wp\/v2\/tags?post=713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}