Django Framework Static ve Media Dosyaları


Django Framework Static ve Media Dosyaları

Django'da Static ve Media Dosyaları Nedir?

Django Framework, modern web uygulamaları geliştirirken statik ve medya dosyalarını verimli bir şekilde yönetmemizi sağlar. Static dosyalar; CSS, JavaScript ve görselleri içeren değişmeyen dosyalar iken, media dosyaları ise kullanıcılar tarafından yüklenen dosyaları (örneğin profil fotoğrafları, dökümanlar) temsil eder. Doğru yapılandırma sayesinde, Django projelerinde hem geliştirme sürecinde, hem de prodüksiyonda bu dosyaların doğru biçimde sunulması garanti altına alınır.

Static ve Media Dosyalarını Yapılandırma

settings.py Ayarları

Django projenizin static ve media dosyalarını tanımlamak için settings.py dosyasında aşağıdaki ayarları yapmanız gerekir:


# settings.py
i mport os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

URL Yönlendirmeleri

Geliştirme ortamında statik ve medya dosyalarının sunulması için ana URL dosyanızı şu şekilde düzenleyin:


# urls.py
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    # ... diğer URL'ler ...
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Template'de Static Kullanımı

Bir Django şablonunda static ve media dosyalarını kullanmak için static ve media yollarını şu şekilde ekleyebilirsiniz:

{% load static %}
<link rel="stylesheet" href="{% static 'css/styles.css' %}">
<img src="{{ user.profile.image.url }}" alt="Profil Fotoğrafı">

Sonuç: Django'da Dosya Yönetimi

Django Framework Static ve Media Dosyaları başlıklı yazımızda, projelerde statik ve kullanıcıya özel dosyaların nasıl yapılandırıldığını ve doğru şekilde yönetildiğini gördük. Doğru ayarlamalar ile projenizin ölçeklenebilirliği ve güvenliği ciddi ölçüde artar. Özellikle prodüksiyon ortamında static ve media yönetimine ekstra özen gösterilmelidir. Django'nun sağlam altyapısı, tüm bu süreçleri kolay ve esnek bir şekilde gerçekleştirmenizi sağlar.