xi 1 Web Programcılığı 2 Neler Bilmeliyim? 3 Django’nun Kurulumu 4 Windows’da Kurulum Linux’da Kurulum 4 5 Veritabanı 5 İyi Bir Düzenleyici 6 Bir Projenin Oluşturulması 7 Özet 10 Alıştırmalar 10 13 Merhaba Dünya Görünümler Adresler 14 14 15 Dinamik İçerikler 17 url Sonlarındaki Dolarlar 21 Ana Sayfamız 22 Özet 23 Alıştırmalar 23 xii 27 Şablon Nedir? 28 Django Şablonları 29 Bağlam Nesneleri 31 Şablon İçerisinde Programcılık 32 if/else etiketi 32 Karşılaştırma İşleçleri 34 ifequal/ifnotequal Etiketi 36 for Etiketi 37 Karmaşık Karşılaştırmalar 39 Filtreler add 39 39 40 40 join 40 41 41 41 41 42 42 42 43 Şablonların Görünümler ile Kullanılması 43 47 Şablon Alt Dizinleri İçerilen Şablonlar 48 48 48 İskelet Şablonlar 51 xiii Özet 53 Alıştırmalar 53 59 Django Veritabanı Yapılandırması 60 Uygulamamazı Oluşturalım 61 İlk Modelimiz 63 Veri Ekleme Veri Sorgulama Veri Güncelleme Veri Sıralama Veri Silme 66 69 70 70 71 Modellerin Görünümlerde Kullanılması 73 Statik Dosyalar 75 Yönetim Paneli 76 Model Alan Tipleri 80 BigIntegerField BooleanField, NullBooleanField CharField CommaSeparatedIntegerField DateField DateTimeField DecimalField EmailField FileField FloatField ImageField IntegerField IPAddressField 80 80 80 80 80 80 81 81 81 81 81 81 81 PositiveIntegerField TextField Alan İrdelemeleri URLField Diğer Sorgulama Seçenekleri Hesaplama İşlevleri Q Nesnesi ile Karmaşık Sorgulamalar Ham SQL Sorgulaması 81 81 82 82 82 84 85 86 Özet 88 Alıştırmalar 88 93 GET ve POST 94 Formlar 95 Django Formları 100 Ya ön tanımlı değerler? 102 Formların Görünümlerde Kullanılması 104 Kayıt Düzenleme Kayıt Silme Sıralamalar Sayfalama Sayfalamanın Görünümlerde Kullanılması 108 110 111 113 115 Alan Ekleme 118 Arama Formu 120 Verilen Dersler 122 Modellerden Form Oluşturma 124 Ön Tanımlı Değerleri Değiştirme 126 Alt Formlar Form Kümeleri Form Kümelerinin Başlangıç Değerleri Form Yönetim Değerleri Form Kümelerinin Denetimi Modellerden Form Kümesi Oluşturma Form Kümelerinin Görünümlerde Kullanılması 126 126 127 128 129 130 131 Özet 133 Alıştırmalar 134 141 Çerezler 142 Oturumlar 145 Django’da Kullanıcılar 147 Kullanıcı Açılımı Kullanıcı Onayı Kullanıcı Girişi Görünümlerin Gizlenmesi 147 147 148 151 Kendi Giriş Görünümümüz 153 Kullanıcı Yetkileri 154 Özel İzinler Modellerdeki İzinler 158 159 Kişisel Kullanıcı Tanımı (Kullanıcı Profıli) 160 Kullanıcı Grupları 164 Parola Değiştirme 167 Parola Sıfırlama 169 Django E-Posta Ayarları 170 Django ile E-Posta Gönderme Web Sitemizin Adı Parola Sıfırlama Url’ler Parola Sıfırlama Şablonları Kullanıcı Kaydı Kayıt Formunu Güncelleme CAPTHA ile İnsanlık Testi Kullanıcı Profilleri Adreslerde bir Başka urls dosyası İçermek Veri Izgarası Form Kümelerinde Sayfalama Form Kümelerinde Sıralama Form Doğrulama 171 171 172 172 176 181 182 186 193 193 202 204 208 Özet 210 Alıştırmalar 211 219 Zulalamak (Keşlemek) Dosya Sistemi Zulalama Veritabanı Zulalama Bellek Zulalama 220 220 221 222 Hata Ayıklama Kipi 225 404 Hatası Şablonu 225 500 Hatası Şablonu 226 Apache ve mod_wsgi 227 Özet 230 Alıştırmalar 231 233 Django ve İlgili Programların Kurulumu Önce Python Resimler için: PIL Python Eklentilerini Kurmak İçin: SETUPTOOLS Django Dosya Temizleme Eklentisi İnsanlık Testi için CAPTCHA Son olarak metin düzenleyici: PsPad 234 234 234 234 234 234 235 235 Köy Bakkalı Projesi 235 Yönetim Uygulaması 239 Bakkal Uygulaması 257 Özet 275 Alıştırmalar 275