14 Mart 2014 Cuma

Statik Dosyalar

Eğer daha önceden web sitesi geliştirdiyseniz, projenize statik dosya eklemişsiniz demektir. Statik dosyalar resim,*.pdf,*.txt, gibi dosyalardır. Bunların yanında bizim için son derece önemli olan css dosyaları da statik dosyalardır. Daha önceden yaptığımız hastahane projesi üzerinden gidersek hastahane/settings.py dosyasını açarsanız. Şu şekilde bir satır göreceksiniz.
STATIC_URL = '/static/'
Bu statik dosyaların yerinin static dizini olacağını belirtiyor. Oluşturulan tüm uygulamalar içerisindeki static dizinleri içerisine bakılması için aşağıdaki kod parçasını urls.py içerisine şu kod parçasını ekleyin.
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
Bu kod parçası sayesinde biz tarayıcı da şu şekilde bir adres girdiğimi zaman
http://localhost:8000/static/kim-korkar-linuxtan.pdf
tüm uygulamalar içerisindeki static dizini altında kim-korkar-linuxtan.pdf dosyası aranacaktır. URL'deki static adresini STATIC_URL değişkenine istediğiniz değeri atayarak değiştirebilirsiniz.
Tabi bu şekilde tüm uygulamalar içerisindeki static dizinlerine teker teker bakılması doğru değildir. Tüm statik dosyaların tek bir dizin içerisinde toplanarak istenildiği zaman o dizinden çekilmesi daha doğru olacaktır. Tüm statik dosyaları dosyalar dizini içerisinde toplayalım. Bu dizin projenin ana dizini içerisinde olacaktır. Şimdi Django'nun bu yolu bulabilmesi için settings.py dosyası içerisine şu satırları ekliyoruz.
STATICFILES_DIRS = (
 os.path.join(anadizin,'dosyalar'),
)

STATIC_URL = '/dosyalar/'
Dosyalarımızı artık bu dizinde saklayacağız. STATIC_URL değişkenini de değiştirdik. Yani tarayıcıdan bir dosyaya ulaşmak için
http://localhost:8000/dosyalar/resim.jpg
yazımını kullanmamız gerekiyor.
Şimdi daha önceden yaptığımız Doktor Listesi sayfası içerisine .css dosyası ekleyelim. Yapmamız gereken dosyalar dizini içerisine style.css dosyası oluşturmak ve içerisine şu kodları yazmak.
table {
    border: 1px solid #ddd;
    border-radius: 5px;
}

table td,th,tr {
    padding: 5px;
}

table th {
    background: #234f32;
    color: #fff;
}
Şimdi css dosyamızı doktor_listesi.html dosyasına göstermemiz gerekiyor. Bunun için <head></head> etiketleri arasına şu kodu ekliyoruz.
<link href="/dosyalar/style.css" rel="stylesheet" type="text/css" />
Artık yeni görünümümüzü elde etmiş olduk.
Statik dosyalar sayesinde sitemize css dosyası eklemiş olduk.
Kaynakça

0 yorum :

Yorum Gönderme