Selam!
Eğer web geliştirmeye merak saldıysanız, Django tam size göre.
Çok basit bir blog örneği veriyorum ama siz bir projenin içinde birden fazla app yapabilirsiniz
Django kullanan büyük firmalara örnek :OpenStockMate , Instagram, Pinterest, Spotify, NASA, Mozilla, The Washington Post, National Geographic, Redditgifts, Lego, Coursera, Booking.com, Red Hat, Udemy gibi liste daha uzar ...
Django, açık kaynaklı bir web çerçevesidir ve sizi karmaşık detaylardan koruyarak sadece kodunuza odaklanmanıza olanak tanır.
projelerinizi hızlı bir şekilde hayata geçirmenizi sağlayan bir dizi araç ve kütüphane sunar. MVC tasarım deseni sayesinde veritabanı işlemleri, kullanıcı arayüzü ve iş mantığı birbirinden ayrı tutulur, bu da kodunuzu daha düzenli hale getirir. Ayrıca, basit ve etkili bir templating sistemi ile HTML sayfalarınızı dinamikleştirebilirsiniz.
Yazmaya models den başlıyoruz her seferinde bu böyle olucak bu örnek için
her models girişinden sonra migrate ve migration komutlarını girebilir ya da tüm projeyi tamamlayıp yapabilirsiniz.
Model-View-Controller'ın kısaltmasıdır ve bir yazılım tasarım desenidir. Bu desen, bir uygulamanın tasarımını organize etmek ve geliştirmek için kullanılır. Model işin mantığını view görüntsünğ contoller da adı üstünde kontrolünü sağlar büyük projelerde karmaşık tasarım ekiplerine kolaylık sağlar.MVC deseninin temel amacı, uygulamanın her bir parçasını birbirinden bağımsız hale getirerek, değişikliklerin kolayca yapılabilmesini ve bakımın daha etkili olmasını sağlamaktır. Bu sayede, bir parçanın değiştirilmesi veya eklenmesi, diğer parçaları etkilemez.
Admin paneli ise gerçek bir hayat kurtarıcı! Otomatik olarak oluşturulan bu panel sayesinde veritabanınızı düzenlemek çocuk oyuncağı haline gelir.
Django'nun güvenlik odaklı tasarımı da sizi düşündürmekten uzaklaştırır. XSS, CSRF gibi güvenlik zafiyetleriyle baş etmek için otomatik önlemler alır ve size güvende olduğunuz hissini verir.
Eğer daha önce Django ile tanışmadıysanız, bu rehber size ilk adımlarınızda rehberlik edecek. Siz de bu sihirli çerçeve ile web geliştirmenin keyfini çıkarın!
Öncelikle django yu kuralım
Sırada projemizi oluşturmak var
proje kısmını kendi projenizin adıyla değiştirin.
Django projeniz içinde çalışacak uygulamaları oluşturun. Örneğin, bir blog sitesi yapacaksanız, aşağıdaki gibi bir komut kullanabilirsiniz:
Terminale yazdığımız"python manage.py startapp blog" komutu, belirttiğiniz proje adı (proje) altında bir blog uygulaması oluşturacaktır
buda gerekli dosyaları oluşturur
Bu yapının ardından, yeni blog uygulamasını Django projesine dahil etmeyi unutmayın. Bunun için proje/settings.py dosyasını açın ve INSTALLED_APPS listesine 'blog' ekleyin:
Veritabanı AyarlarıProjenizin ayar dosyasını açın (proje/settings.py) ve veritabanı ayarlarınızı düzenleyin. Varsayılan olarak, SQLite kullanabilirsiniz.
Model OluşturmaUygulamanız içindeki models.py dosyasını açın ve veritabanınızın nasıl görüneceğini tanımlayın. Örneğin, bir blog gönderisi için:
Veritabanını GüncellemeTerminalde veya komut istemcisinde şu komutu kullanarak veritabanınızı oluşturun veya güncelleyin:
Django Admin Panelini AyarlamaAdmin panelini kullanabilmek için admin.py dosyasında modelinizi kaydedin:
URL AyarlarıUygulamanız içindeki urls.py dosyasını oluşturun ve URL yönlendirmelerinizi tanımlayın.
Görünümleri (Views) OluşturmaUygulamanız içindeki views.py dosyasını açın ve sayfalarınızın görünümlerini tanımlayın.
HTML ŞablonlarıUygulamanız içinde bir "templates" klasörü oluşturun ve HTML şablonlarınızı buraya ekleyin.
Bu komutlar sırasıyla proje dizinine gidip, bir templates klasörü oluşturur ve bu klasöre geçiş yapar.
ardından html sayfanızı oluşturabilirsiniz basit bir örnek html yazıyorum
siz templates/base.html dosyasını VS Code içinde açın ve HTML içeriğini düzenleyin:
Bu örnek base.html dosyasında, Django'nun templatelerinde kullanılan {% block %} etiketleri ile ana başlık (title), başlık (header), içerik (content) ve diğer bölümleri belirlemek için yer tutucular eklenmiştir.
Böylelikle db de yaptığınız değişiklikler yeni yazdığınız yazı örneğin otonom olarak gelip sayfada duracaktır
Aşağıdaki linkde tam bir hazine var django hakkında türkçe kaynak incelemenizi taviye ederim.
Eğer web geliştirmeye merak saldıysanız, Django tam size göre.
Çok basit bir blog örneği veriyorum ama siz bir projenin içinde birden fazla app yapabilirsiniz
Django kullanan büyük firmalara örnek :OpenStockMate , Instagram, Pinterest, Spotify, NASA, Mozilla, The Washington Post, National Geographic, Redditgifts, Lego, Coursera, Booking.com, Red Hat, Udemy gibi liste daha uzar ...
Django, açık kaynaklı bir web çerçevesidir ve sizi karmaşık detaylardan koruyarak sadece kodunuza odaklanmanıza olanak tanır.
projelerinizi hızlı bir şekilde hayata geçirmenizi sağlayan bir dizi araç ve kütüphane sunar. MVC tasarım deseni sayesinde veritabanı işlemleri, kullanıcı arayüzü ve iş mantığı birbirinden ayrı tutulur, bu da kodunuzu daha düzenli hale getirir. Ayrıca, basit ve etkili bir templating sistemi ile HTML sayfalarınızı dinamikleştirebilirsiniz.
Yazmaya models den başlıyoruz her seferinde bu böyle olucak bu örnek için
her models girişinden sonra migrate ve migration komutlarını girebilir ya da tüm projeyi tamamlayıp yapabilirsiniz.
Model-View-Controller'ın kısaltmasıdır ve bir yazılım tasarım desenidir. Bu desen, bir uygulamanın tasarımını organize etmek ve geliştirmek için kullanılır. Model işin mantığını view görüntsünğ contoller da adı üstünde kontrolünü sağlar büyük projelerde karmaşık tasarım ekiplerine kolaylık sağlar.MVC deseninin temel amacı, uygulamanın her bir parçasını birbirinden bağımsız hale getirerek, değişikliklerin kolayca yapılabilmesini ve bakımın daha etkili olmasını sağlamaktır. Bu sayede, bir parçanın değiştirilmesi veya eklenmesi, diğer parçaları etkilemez.
Admin paneli ise gerçek bir hayat kurtarıcı! Otomatik olarak oluşturulan bu panel sayesinde veritabanınızı düzenlemek çocuk oyuncağı haline gelir.
Django'nun güvenlik odaklı tasarımı da sizi düşündürmekten uzaklaştırır. XSS, CSRF gibi güvenlik zafiyetleriyle baş etmek için otomatik önlemler alır ve size güvende olduğunuz hissini verir.
Eğer daha önce Django ile tanışmadıysanız, bu rehber size ilk adımlarınızda rehberlik edecek. Siz de bu sihirli çerçeve ile web geliştirmenin keyfini çıkarın!
Öncelikle django yu kuralım
Bash:
pip install django
Sırada projemizi oluşturmak var
Bash:
django-admin startproject proje
Django projeniz içinde çalışacak uygulamaları oluşturun. Örneğin, bir blog sitesi yapacaksanız, aşağıdaki gibi bir komut kullanabilirsiniz:
Bash:
cd proje
python manage.py startapp blog
Terminale yazdığımız"python manage.py startapp blog" komutu, belirttiğiniz proje adı (proje) altında bir blog uygulaması oluşturacaktır
buda gerekli dosyaları oluşturur
Bash:
proje/
├── blog/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations/
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3#migrate kodları girdikten sonra oluşur
├── manage.py
└── proje/
├── __init__.py
├── settings.py
├── urls.py
├── asgi.py
└── wsgi.py
Bu yapının ardından, yeni blog uygulamasını Django projesine dahil etmeyi unutmayın. Bunun için proje/settings.py dosyasını açın ve INSTALLED_APPS listesine 'blog' ekleyin:
Python:
#settings.py
INSTALLED_APPS = [
'blog',
#djangonun diger uygulamaları
#güvenlik
#adminhareketklerigibi bu dosyalar kendiliğinden oluşur size sadece ayaryapmak kalır
]
Veritabanı AyarlarıProjenizin ayar dosyasını açın (proje/settings.py) ve veritabanı ayarlarınızı düzenleyin. Varsayılan olarak, SQLite kullanabilirsiniz.
Python:
#settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}
Model OluşturmaUygulamanız içindeki models.py dosyasını açın ve veritabanınızın nasıl görüneceğini tanımlayın. Örneğin, bir blog gönderisi için:
Python:
#models.py
from django.db import models
class BlogPost(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField('date published')
Veritabanını GüncellemeTerminalde veya komut istemcisinde şu komutu kullanarak veritabanınızı oluşturun veya güncelleyin:
Bash:
python manage.py makemigrations
python manage.py migrate
Python:
#admin.py
from django.contrib import admin
from .models import BlogPost
admin.site.register(BlogPost)
Python:
#urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
Python:
#views.py
from django.shortcuts import render
from .models import BlogPost
def index(request):
posts = BlogPost.objects.all()
return render(request, 'index.html', {'posts': posts})
Bash:
cd proje_adı
mkdir templates
cd templates
ardından html sayfanızı oluşturabilirsiniz basit bir örnek html yazıyorum
siz templates/base.html dosyasını VS Code içinde açın ve HTML içeriğini düzenleyin:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}Ana Sayfa{% endblock %}</title>
</head>
<body>
<header>
<h1>{% block header %}Hoş Geldiniz{% endblock %}</h1>
</header>
<nav>
<ul>
<li><a href="{% url 'home' %}">Ana Sayfa</a></li>
<li><a href="{% url 'about' %}">Hakkında</a></li>
</ul>
</nav>
<main>
{% block content %}{% endblock %}
</main>
<footer>
<p>© 2023 Django Blog</p>
</footer>
</body>
</html>
Böylelikle db de yaptığınız değişiklikler yeni yazdığınız yazı örneğin otonom olarak gelip sayfada duracaktır
Aşağıdaki linkde tam bir hazine var django hakkında türkçe kaynak incelemenizi taviye ederim.
Django Öğreniyorum
djangoogreniyorum.github.io
Son düzenleme: