1 / 18

Django

Django. Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım. Temel özellikler. Modüler, akılcı tasarım Tekrarsız kodlama (DRY) Model – Şablon – Uygulama mimarisi MTV (veya MVC) Herşey doğru yerde Genişletilebilir yapı Yüksek yönetilebilirlik. Django – Onur Mat. Nesne tabanlı modelleme.

makya
Download Presentation

Django

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım

  2. Temel özellikler • Modüler, akılcı tasarım • Tekrarsız kodlama (DRY) • Model – Şablon – Uygulama mimarisi • MTV (veya MVC) • Herşey doğru yerde • Genişletilebilir yapı • Yüksek yönetilebilirlik Django – Onur Mat

  3. Nesne tabanlı modelleme • Veri modelinizin öğeleri Python nesneleridir • SQL yazmadan erişim • Veritabanı soyutlaması • MySQL, PostgreSQL, Oracle, SQLite desteği • Aynı arayüz ile erişim django - onur mat

  4. Zarif URL’ler • Okunabilir URL’ler • /index.php?cat=123&p=4&sid=qwe123 yerine • /blog/duyuru/django-semineri/ • URL’lerinizi fonksiyonlarınızla eşleştirin • Regular expression kullanarak URL’lerinizi tanımlayın • Platform kısıtlaması yok django - onur mat

  5. Şablon Sistemi • Grafik tasarımın işlevsel taraftan ve içerikten tamamen ayrılması • Genişletilebilir esnek şablon dili • Nesne tabanlı yaklaşım django - onur mat

  6. Kaşe Sistemi • İstenilen çözünürlükte kaşeleme • tüm sayfa veya tek bir sorgu veya bir nesne • İstenilen kaşe sistemi ile entegrasyon • Memcached, DB, dosya, vb. ile kaşeleme • Aynı arayüz ile erişim django - onur mat

  7. Otomatik Yönetici Arayüzleri • Veri modelleriniz ile birlikte yönetici arayüzünüz hazır • Yayına hazır kalitede içerik ekleme – silme – değiştirme arayüzleri otomatik olarak elinizde django - onur mat

  8. Çok Dil Desteği • Uygulamalarınızda tercüme edilmesi gereken içeriği geliştirme sırasında işaretleyin • Django size istediğiniz diller için tercüme dosyaları üretsin • Uygulamanız dilediğiniz dillerde aynı şekilde çalışsın • Tek satır değiştirmenize gerek yok django - onur mat

  9. Geliştirme ortamı • Django development server • Kolayca test edin • Başka server kurmanıza gerek yok • Uygulamanızı debug edin • Standard IDE ‘lerle uyum django - onur mat

  10. XML Bazlı İçerik Dağıtımı • RSS ve ATOM beslemeleri • Tüm içeriğiniz için RSS ve ATOM beslemelerini birkaç satır kod ile üretin • Sitemaps • Site içeriğini sitemaps formatında oluşturun • Esnek ve kolay django - onur mat

  11. İleri özellikler • Test platformları ile entegrasyon • Unit tests • Doc tests • Middleware • Uygulamanız ile request / response seviyelerinde etkileşim • Sinyaller • Olay bazlı işlevsellik ile daha gevşek ilişkilendirme django - onur mat

  12. Örnek Blog Uygulaması • Veri modelleri • URL tasarımı • Uygulama katmanı • Şablonlar django - onur mat

  13. Modeller from django.db import models class Blog(models.Model): title = models.CharField(max_length=100) is_featured = models.BooleanField(default=False) class Entry(models.Model): title = models.CharField(max_length=100) body = models.TextField() blog = models.ForeignKey(Blog) django - onur mat

  14. API erişimi > b = Blog(title=’güncel’) > b.save() > e = Entry(title=’ilk yazı’, body=’Django ile hayat daha kolay’, blog=b) > e.save() > b = Blog.objects.get(title=’güncel’) > entries = Entry.objects.filter(blog=b) > entries = b.entry_set.all() > entries[0].title ‘ilk yazı’ django - onur mat

  15. URL tasarımı from django.conf.urls.defaults import * urlpatterns = patterns('', ('^blog/(?P<blog_id>d+)/$', 'blog.views.entry_list'), ) django - onur mat

  16. “View” Fonksiyonları from django.shortcuts import render_to_response def entry_list(request, blog_id): blog = Blog.objects.get(id=blog_id) return render_to_response(‘blog/entry_list.html’, {‘entries’: blog.entry_set.all()}) django - onur mat

  17. Şablon {% for entry in entries %} <b>{{ entry.blog.title }}: {{ entry.title }}</b><br> {{ entry.body|truncatewords:50 }} {% endfor %} django - onur mat

  18. İletişim Django djangoproject.com Google Groups django-tr@googlegroups.com Onur Mat omat@teknolab.org django - onur mat

More Related