{Django Öğreniyorum}
Günümüz kusursuzcuları için ağ çatısı
Django deneyimli ağ geliştiricilerinin gereksinimlerini karşılarken, hızlı akan haber bültenlerine karşılık vermek için tasarlandı.

Django İle Başlangıç Atalım

Django'ya yatkınlık durumunuza göre öğreticilere veya belgelere dalabilirsiniz.
Django hakkıdna daha fazla şey öğrenmek ister misin? Django'nun projen için ne kadar doğru olduğunu önbakışı okuyarak gör.
Django Önbakış

Django Kur

Django kullanmadan önce kurulum yapmalısınız. Tam kurulum rehberimiz tüm olasılıkları kapsar; bu rehber size giriş süreci boyunca ilerlergen işinize yarayacak basit ve sade bir kurulum sağlayacaktır. Djanga Kurulum Rehberi

İlk Django Uygulamanı Yaz

Django kurulumu tamam mı? Güzel... Şimdi bu eğitimi dene. Bunun vasıtasıyla temel bir anket uygulaması oluşturacaksın. İki bölümün var.

  • Herkesin anketlere katılmasını sağlayan genel bir site.
  • Anketleri eklemenize, silmenize, değiştirmenize olanak sağlayan yönetim arabirimi.
Eğitime Geç

Kişisel Yeteneklerini Güçlendir

Django belgeleri Django hakkında ihtiyaç duyacağın her şeyi kapsar. (ve birazını daha)
Belgeleri Oku

Bize Destek Ver

Bize yardımda bulunabilirsin. Devam eden türkçeleştirme çalışmalarımıza katkıda bulunmak için github üzerinde oluşturduğumuz örgütlenmeye başvurun.
Django Öğreniyorum : Github

Django Önbilgi

İlişkili-Nesne İmgeleyici (Object-relational mapper)

Veri kalıplarınızı baştan sona Python'da çözün. Ücretsiz olarak zengin, dinamik bir veritabanı erişimi API'si elde edersiniz, ancak gerekir ise SQL yazabilirsiniz.

Devamını Oku

class Band(models.Model):
    """Bir rock bandının kalıbı."""
    name = models.CharField(max_length=200)
    can_rock = models.BooleanField(default=True)


class Member(models.Model):
    """Bir rock bandı üyesinin kalıbı."""
    name = models.CharField("Üyenin adı", max_length=200)
    instrument = models.CharField(choices=(
            ('g', "Gitar"),
            ('b', "Bas"),
            ('d', "Davullar"),
        ),
        max_length=1
    )
    band = models.ForeignKey("Band")
  
  

URLler Ve Görünümler (URLs and views)

Temiz, şık bir URL şeması, yüksek kalitede bir ağ uygulamasında önemli bir ayrıntıdır. Django güzel bir URL tasarımını destekler ve PHP veya ASP gibi URL'lerde herhangi bir hata yapmaz.

Bir uygulama için URLlerin tasarımlarına URLconf adlı bir Python eklemi oluşturursunuz. İçindekiler tablosu gibi uygulamanız için URL kalıpları ve görünümleri arasında basit bir imgeleme içerir.

Devamını Oku

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^bands/$', views.band_listing, name='band-list'),
    url(r'^bands/(\d+)/$', views.band_detail, name='band-detail'),
    url(r'^bands/search/$', views.band_search, name='band-search'),
]
    

from django.shortcuts import render

def band_listing(request):
    """A view of all bands."""
    bands = models.Band.objects.all()
    return render(request, 'bands/band_listing.html', {'bands': bands})
    

Temalar (Templates)

Django'nun şablon dili güç ile kolaylık arasında denge kuracak şekilde tasarlandı. Tasarımcılar ve ön uç geliştiricileri gibi HTML işlerinde rahat ve öğrenimi kolay hissetmek için tasarlandı. Fakat esnek ve son derece genişletilebilir, böylece geliştiricilerin şablon dilini gerektiği gibi genişletmeleri sağlanır.

Devamını Oku

<html>
  <head>
    <title>Band Listing</title>
  </head>
  <body>
    <h1>All Bands</h1>
    <ul>
    {% for band in bands %}
      <li>
        <h2><a href=""></a></h2>
        {% if band.can_rock %} <p>This band can rock!</p>{% endif %}
      </li>
    {% endfor %}
    </ul>
  </body>
</html>
    

Formlar (Forms)

Django, formları HTML olarak işleyen, kullanıcı tarafından gönderilen verileri doğrulayan ve bu verileri yerel Python türlerine dönüştüren güçlü bir form kütüphanesi sunar. Django ayrıca mevcut kalıplarınızdan (models) formlar üretmenin ve bu formları veri oluşturmak ve güncelleştirmek için kullanmanın bir yolunu sağlar.

Devamını Oku

from django import forms

class BandContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField()
    sender = forms.EmailField()
    cc_myself = forms.BooleanField(required=False)
    

Kimlik Doğrulama (Authentication)

Django tam özellikli ve güvenli doğrulama örgüsüyle gelir. Kullanıcı hesaplarını, grupları, izinleri ve kurabiye tabanlı kullanıcı oturumlarını yönetir. Bu, kullanıcıların hesap oluşturmasına ve güvenli bir şekilde giriş/çıkış yapmasına izin veren siteleri kolayca oluşturmanızı sağlar.

Devamını Oku

from django.contrib.auth.decorators import login_required
from django.shortcuts import render

@login_required
def my_protected_view(request):
    """A view that can only be accessed by logged-in users"""
    return render(request, 'protected.html', {'current_user': request.user})
    

Yönetici (Admin)

Django'nun en güçlü kısımlarından biri, doğal yönetici arayüzüdür. İçerik üreticilerinin sitenizdeki içeriği yönetmeye hemen başlayabilecek güçlü ve üretime hazır bir arabirim sağlamak için kalıplarınızdaki meta verileri okur. Kurulumu kolaydır ve özelleştirme için pek çok takı bulunur.

Devamını Oku

from django.contrib import admin
from bands.models import Band, Member

class MemberAdmin(admin.ModelAdmin):
    """Customize the look of the auto-generated admin for the Member model"""
    list_display = ('name', 'instrument')
    list_filter = ('band',)

admin.site.register(Band)  # Use the default options
admin.site.register(Member, MemberAdmin)  # Use the customized options
    

Uluslararasılaşma (Internationalization)

Django, metni farklı dillere çevirmenin yanı sıra tarih, saat, sayı ve saat dilimlerinin yerel ayara özel biçimlendirilmesi için tam destek sunar. Geliştiricilerin ve şablon yazarlarının, uygulamanın hangi bölümlerinin yerel diller ve kültürler için tercüme edilmesi veya biçimlendirilmesi gerektiğini belirtmesine ve bu kancaları belirli kullanıcılara yönetlik ağ uygulamalarını kendi tercihlerine göre yerelleştirmesi için kullanıyor.

Devamını Oku

from django.shortcuts import render
from django.utils.translation import ugettext

def homepage(request):
    """
    Shows the homepage with a welcome message that is translated in the
    user's language.
    """
    message = ugettext('Welcome to our site!')
    return render(request, 'homepage.html', {'message': message})
    

{% load i18n %}
<html>
  <head>
    <title>{% trans 'Homepage - Hall of Fame' %} </title>
  </head>
  <body>
    {# Translated in the view: #}
    <h1></h1>
    <p>
      {% blocktrans count member_count=bands.count %}
      Here is the only band in the hall of fame:
      {% plural %}
      Here are all the  bands in the hall of fame:
      {% endblocktrans %}
    </p>
    <ul>
    {% for band in bands %}
      <li>
        <h2><a href=""></a></h2>
        {% if band.can_rock %} <p>{% trans 'This band can rock!' %} </p>{% endif %}
      </li>
    {% endfor %}
    </ul>
  </body>
</html>
    

Güvenlik (Security)

Django birçok koruma yöntemi sağlar:

  • Clickjacking
  • Çapraz site kodlama (Cross-site scripting)
  • Çapraz site istek sahteciliği (Cross Site Request Forgery (CSRF))
  • SQL yerleştirme (SQL injection)
  • Uzaktan kod yürütülmesi (Remote code execution)
Devamını Oku