Web uygulamaları sadece veri toplamakla kalmaz bu verileri anlaşılır bir biçimde sunmak da çok önemlidir. Kullanıcıların karmaşık tablolar arasında kaybolmaması için grafikler, diyagramlar ve görselleştirmeler büyük kolaylık sağlar. Django Python’un güçlü kütüphaneleriyle birleştiğinde veri görselleştirme için oldukça pratik çözümler sunar.
Neden Veri Görselleştirme?
- Anlaşılabilirlik: Rakamların arasına gizlenmiş eğilimler grafiklerle kolayca ortaya çıkar.
- Kullanıcı Deneyimi: Görseller, tabloların yerini alarak kullanıcıya hızlı bir bakış açısı sunar.
- Karar Verme: Yönetim panellerinde veya raporlama ekranlarında veriye dayalı kararlar daha sağlıklı alınır.
Django’ya Özel Veri Görselleştirme Araçları
Django Python ekosistemindeki güçlü görselleştirme kütüphanelerini kullanabilse de bazı özel paketler doğrudan Django ile entegre çalışır. Bu sayede hem backend hem de frontend tarafında uğraştırmadan hızlı çözümler sunar. İşte en bilinen Django’ya özel veri görselleştirme araçları:
1. django-plotly-dash
- Ne işe yarar?
django-plotly-dash Django projeleri içine doğrudan Plotly Dash uygulamaları entegre etmenizi sağlar. Dash interaktif dashboard’lar ve gelişmiş veri görselleştirmeleri oluşturmak için kullanılan güçlü bir Python framework’üdür. Bu sayede Django’nun kullanıcı yönetimi, veritabanı ve template sistemini kullanarak etkileşimli grafikler ve raporlar oluşturabilirsiniz. - Avantajları:
- Tamamen interaktif grafikler (zoom, hover, filtreleme vb.).
- Django’nun kullanıcı yetkilendirme ve routing yapısıyla uyumlu çalışır.
- Büyük ve dinamik veri setleri için uygun.
- Kullanım Alanı: Raporlama panelleri, yönetici dashboard’ları, finans/istatistik uygulamaları.
2. django-chartjs
- Ne işe yarar?
Django ile Chart.js kütüphanesini kolayca entegre etmenizi sağlar. Normalde Chart.js frontend tarafında manuel AJAX ile beslenir. Bu paket sayesinde Django veritabanındaki veriler JSON formatında otomatik Chart.js’e aktarılır. - Avantajları:
- Basit ve şık grafikler (çubuk, pasta, çizgi grafikler vb.).
- Frontend kodunu minimuma indirir.
- Responsive grafikler ile mobil uyumlu görünüm.
- Kullanım Alanı: Hızlı raporlamalar, küçük dashboard’lar, kullanıcı dostu grafikler.
3. django-chartit
- Ne işe yarar?
Django modellerinden gelen veriyi doğrudan grafiklere dönüştürmeyi sağlayan eski bir paket. Highcharts üzerine kuruludur. - Avantajları:
- Veritabanı modellerini kolayca grafiklere bağlama.
- Karmaşık query’leri otomatik grafikleştirme.
- Dezavantajı:
- Uzun süredir güncellenmiyor, yeni projelerde tercih edilmesi önerilmez.
- Kullanım Alanı: Daha çok eski projelerde hâlâ karşılaşılabilir.
4. django-graphs
- Ne işe yarar?
Django uygulamaları için temel grafik görselleştirme araçlarını sunan eski bir kütüphane. - Avantajları:
- Kolay kurulum ve kullanım.
- Basit grafik ihtiyaçlarını hızlıca çözme.
- Dezavantajı:
- Geliştirilmesi durmuş durumda, güncel alternatifler daha güçlü.
- Kullanım Alanı: Tarihsel olarak önemli. Güncel projelerde önerilmez.
Örnek Dash Plotly Veri Görselleştirme Aaracı Django ’da Nasıl Kullanılır?
Django projelerinde interaktif grafikler ve dashboard’lar oluşturmak için Plotly Dash harika bir araçtır. Django ile doğrudan entegre edilebilir ve kullanıcıya etkileşimli görseller sunar. İşte adım adım örnek bir uygulama:
1. Gerekli Paketlerin Kurulumu
Öncelikle gerekli paketleri yükleyin:
pip install django
pip install dash
pip install django-plotly-dashdjango-plotly-dash paketi Dash uygulamalarını Django içinde çalıştırmamızı sağlar.
2. Django Projesi ve Uygulama Oluşturma
django-admin startproject myproject
cd myproject
python manage.py startapp dashboardsettings.py dosyanıza aşağıdaki eklemeleri yapın:
INSTALLED_APPS = [
# ... diğer uygulamalar
'django_plotly_dash.apps.DjangoPlotlyDashConfig',
'channels',
'dashboard', # oluşturduğunuz uygulama
]
MIDDLEWARE = [
'django_plotly_dash.middleware.BaseMiddleware',
# ... diğer middlewareler
]3. Basit Bir Dash Uygalaması Oluşturma
dashboard/dash_app.py dosyasını oluşturun ve içine basit bir grafik ekleyin:
from dash import Dash, dcc, html
import plotly.express as px
from django_plotly_dash
import DjangoDash
import pandas as pd
# Örnek veri
df = pd.DataFrame({
"Ay": ["Ocak", "Şubat", "Mart", "Nisan"],
"Satış": [150, 200, 180, 220]
})
# Dash uygulamasını Django içinde tanımlama
app = DjangoDash('SalesGraph')
app.layout = html.Div([
html.H3("Aylık Satış Grafiği"),
dcc.Graph(
figure=px.bar(df, x="Ay", y="Satış", color="Satış", title="Aylık Satışlar")
)
])4. URL ve Template Ayarları
urls.py dosyanıza django-plotly-dash için gerekli route’u ekleyin:
from django.urls import path, include
urlpatterns = [
path('django_plotly_dash/', include('django_plotly_dash.urls')),
# ... diğer url’ler
]Ardından bir template oluşturun (dashboard/templates/dashboard/home.html):
{% load plotly_dash %}
<html>
<head>
<title>
Dash Dashboard
</title>
</head>
<body>
<h1>Dashboard Örneği</h1>
{% plotly_app name="SalesGraph" %}
</body>
</html>5. Template’i Görüntüleme
views.py içinde basit bir view oluşturun:
from django.shortcuts import render
def home(request):
return render(request, 'dashboard/home.html')urls.py içine route ekleyin:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]6. Sunucu Çalıştırma
python manage.py runserver
Tarayıcıda http://127.0.0.1:8000/ adresini açtığınızda, interaktif bir bar grafiğin görüntülendiğini göreceksiniz. Kullanıcılar grafikte hover yapabilir, renkler ve etiketler dinamik olarak gösterilir.
7. Özet
- django-plotly-dash, Dash uygulamalarını Django ile entegre eder.
- Backend’den veri alıp interaktif grafikler oluşturmayı kolaylaştırır.
- Kullanıcıya dashboard deneyimi sunmak için ideal bir çözümdür. Bunun için ne yapmam gerektir acaba django’nun kullanımı önemlidir.




