DJANGO UYGULAMA
Replit’te Yeni Proje Oluşturma
- Replit’e giriş yapın. (Replit web sitesi)
- Yeni bir repl oluşturun:
- Sağ üstteki “Create Repl” düğmesine tıklayın.
- Template kısmında Python‘u seçin.
- Projeye bir isim verin (örneğin,
django-blog
). - “Create Repl” butonuna tıklayın.
2. Django’yu Yükleme
Replit’te Django’yu kurmak için, sol tarafta yer alan “Shell” bölümüne gidin ve şu komutu çalıştırın:
pip install django
Bu komut, Django’yu projeye yükleyecektir.
3. Django Projesi Oluşturma
Django projesini başlatmak için şu komutları sırasıyla çalıştırın:
a) Django Projesi Başlatma
django-admin startproject blog .
- Bu komut, bir Django projesi oluşturur.
.
(nokta), proje dosyalarının ana dizine oluşturulmasını sağlar.
4. Django Uygulaması (App) Oluşturma
Blog yazılarımızı oluşturmak için bir uygulama başlatmamız gerekiyor. Bunun için:
bashCopy codepython manage.py startapp posts
- Bu komut,
posts
adında bir Django uygulaması oluşturur.
5. Uygulamayı Ayarlara Ekleyin
blog/settings.py
dosyasını açın ve INSTALLED_APPS
listesine posts
uygulamasını 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ıları İçin Model Tanımlama
posts/models.py
dosyasını açın ve aşağıdaki kodu ekleyin:
from django.db import models
class BlogPost(models.Model):
title = models.CharField(max_length=200) # Başlık
content = models.TextField() # İçerik
published_date = models.DateTimeField(auto_now_add=True) # Yayınlanma tarihi
def __str__(self):
return self.title
7. Veritabanını Güncelleme
Modeli veritabanına eklemek için şu komutları çalıştırın:
- Değişiklikleri kaydet:bashCopy code
python manage.py makemigrations
- Veritabanını oluştur:bashCopy code
python manage.py migrate
8. Admin Paneli İçin Superuser Oluşturma
Admin paneline giriş yapabilmek için bir süper kullanıcı oluşturun:
python manage.py createsuperuser
- Kullanıcı adı, e-posta ve şifreyi girdikten sonra süper kullanıcı oluşturulacaktır.
9. Admin Paneline Model Ekleyin
posts/admin.py
dosyasını açın ve şu kodu ekleyin:
from django.contrib import admin
from .models import BlogPost
admin.site.register(BlogPost)
Bu, BlogPost
modelini admin panelinde görünür hale getirecektir.
10. View ve Template Ayarları
a) Görünüm (View) Ekleyin
posts/views.py
dosyasını açın ve aşağıdaki kodu ekleyin:
from django.shortcuts import render
from .models import BlogPost
def home(request):
posts = BlogPost.objects.all()
return render(request, 'home.html', {'posts': posts})
b) Şablon (Template) Ekleyin
posts/templates
adlı bir klasör oluşturun.- Bu klasörün içinde
home.html
adında bir dosya oluşturun ve şu kodları ekleyin:
<!DOCTYPE html>
<html>
<head>
<title>Blog</title>
</head>
<body>
<h1>Blog Yazıları</h1>
<ul>
{% for post in posts %}
<li><strong>{{ post.title }}</strong> - {{ post.published_date }}</li>
<p>{{ post.content }}</p>
{% endfor %}
</ul>
</body>
</html>
11. URL’leri Ayarlama
a) Uygulama URL’leri
posts/urls.py
adında bir dosya oluşturun ve şu kodları ekleyin:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
b) Proje URL’leri
blog/urls.py
dosyasını açın ve şu şekilde düzenleyin:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('posts.urls')), # Uygulama URL'lerini dahil et
]
12. Sunucuyu Çalıştırma
Replit’te Django sunucusunu başlatmak için şu komutu çalıştırın:
python manage.py runserver 0.0.0.0:8000
- Replit otomatik olarak bir URL oluşturur ve bu URL’yi tıklayarak projenizi görebilirsiniz.
13. Admin Panelini Kullanma
- Replit’teki admin paneline gitmek için
/admin
ekleyin (ör.https://<replit_url>/admin
). - Süper kullanıcı bilgileriyle giriş yaparak blog yazıları ekleyebilir veya düzenleyebilirsiniz.
14. Projenizi Yayınlama
- Replit, projenizi otomatik olarak bir web bağlantısı üzerinden erişilebilir hale getirir.
HATALAR
settings.py Dosyasını Açın
- blog/settings.py dosyasını bulun ve düzenleyin.
ALLOWED_HOSTS Listesine Replit URL’sini Ekleyin
- ALLOWED_HOSTS ayarını bulun.
- Bu listeye Replit URL’nizi ekleyin.
- Replit URL’si hata mesajında belirtilmiştir (örneğin: b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev).
- Bu URL, Replit’in Django projeniz için oluşturduğu benzersiz alan adıdır.
ALLOWED_HOSTS = ['b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev']
Sunucuyu Yeniden Başlatın
- Değişikliklerden sonra Django sunucusunu yeniden başlatın:
python manage.py runserver 0.0.0.0:8000
Admin Paneline Erişim:
- Replit tarafından oluşturulan özel URL’yi kullanarak projenizi tarayıcıda görüntüleyebilirsiniz.
- http://b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev
Django admin paneline giriş yapmak için, URL’nizin sonuna /admin ekleyin:
- b4aaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pike.replit.dev/admin
Başka Bir Port Deneyin
- Replit’teki varsayılan port 8000 olabilir, ancak farklı bir port kullanmayı da deneyebilirsiniz.
- Django sunucusunu farklı bir portta başlatın:
- python manage.py runserver 0.0.0.0:8080
*OPSİYONEL
Tüm Etki Alanlarını Kabul Etmek İçin
Geliştirme ortamında, güvenlik kaygısı olmadan tüm etki alanlarını kabul etmek isterseniz:
ALLOWED_HOSTS = [‘*’]
*tavsiye edilmez!