Python Temellerini İncelemek ve Django ile İlk Web Uygulamanızı Oluşturmak - Bölüm 2


“Bu makale Django'nun en son sürümüyle revize edildi ve güncellendi – Mayıs 2016 ”

Bu serinin son makalesinde kısaca yorumladığımız gibi Django, programcının bakış açısından uygulama geliştirmeyi daha hızlı ve daha etkili bir şekilde yapılan bir göreve dönüştüren ücretsiz ve açık kaynaklı bir web çerçevesidir.

Django Web Çerçevesini Sanal Ortamlarla Kurmak ve Yapılandırmak – Bölüm 1

Bunu yapmak için Django, MVC (ModelGörünümDenetleyici) tasarım modelini veya SSS'lerini izler. durumunda, bunun bir MTV (ModelŞablonGörünüm) çerçevesi olarak tanımlanması daha doğru olur.

Django'da "görünüm" kullanıcıya hangi verilerin sunulduğunu tanımlarken, şablon verilerin nasıl sunulduğunu açıklar. Son olarak model, uygulamadaki verilerle ilgili bilgilerin kaynağıdır.

Bu makalede bazı Python temellerini gözden geçireceğiz ve bir sonraki derste ortamınızı basit bir web uygulaması oluşturmaya nasıl hazırlayacağınızı açıklayacağız.

Bazı Python Temellerini Öğrenin

Nesne yönelimli bir programlama dili olarak Python, nesneleri özellikler (nitelikler olarak da bilinir) ve yöntemler (ayrıca bilinir) içeren bir nesne koleksiyonu halinde düzenler. işlemler olarak). Bu, bir nesneyi bir kez tanımlamamıza ve daha sonra her seferinde her şeyi sıfırdan yazmak zorunda kalmadan aynı özellik ve yöntem yapısına sahip bu tür nesnelerin birden çok örneğini oluşturmamıza olanak tanır. Dolayısıyla nesneler, onları temsil eden sınıflar tarafından tanımlanır.

Örneğin, bir Kişi nesnesi şu şekilde tanımlanabilir:

Özellikler:
  1. Kişi.boyu
  2. Kişi ağırlığı
  3. Kişi yaşı
  4. Kişi.etnik köken
Yöntemler:
  1. Kişi.eat()
  2. Kişi.uyku()
  3. Kişi.yürüyüş()

Çoğu programlama dilinde olduğu gibi, özellik nesnenin adının ardından bir nokta ve niteliğin adının gelmesiyle tanımlanırken, yöntem de belirtilir. aynı şekilde ancak ardından bir çift parantez gelir (boş olabilir veya olmayabilir - ikinci durumda, gibi, değeri yöntemin etki edeceği bir değişken içerebilir. Birkaç örnek vermek gerekirse Person.eat(cake) veya Person.sleep(now)).

Python'da yöntemleri tanımlamak için def anahtar sözcüğünü, ardından yöntemin adını ve bir dizi parantezi ve birazdan göreceğiniz gibi isteğe bağlı bir nesneyi kullanacaksınız.

Gerçek bir örneğe dalacağımız bir sonraki bölümde tüm bunlar daha da netleşecek.

Bir web uygulamasının yapısını oluşturmak

Bu Django serisinin 1. Bölümünden hatırlayacağınız gibi, bir web uygulamasının veri depolamak için bir veritabanına ihtiyaç duyduğunu söylemiştik. Bir uygulama oluşturduğunuzda Django, küçük ve orta boyutlu uygulamalar için gayet iyi çalışan bir Sqlite veritabanını otomatik olarak kurar ve bu durumda, klasik ilk kez web için veri depolamak için kullanacağımız veritabanı bu olacaktır. uygulama: bir blog.

Bir proje içerisinde yeni bir uygulama başlatmak için (bu arada projeyi bir dizi web uygulaması olarak düşünebilirsiniz), Bölüm 1'de kurduğumuz sanal ortamı aktif hale getirdikten sonra aşağıdaki komutu çalıştırın. bu serinin.


cd ~/myfirstdjangoenv/
source myfirstdjangoenv/bin/activate
cd ~/myfirstdjangoenv/myfirstdjangoproject
python manage.py startapp myblog

Uygulamanın adını (blogum) kendi seçtiğiniz bir adla değiştirebileceğinizi unutmayın; bu yalnızca uygulamanın tanımlayıcısıdır (lütfen tüm yönetim görevlerinin python ikili dosyası aracılığıyla manage.py betiği kullanılarak çağrıldığını unutmayın; bir dakikanız varsa kaynak kodunu araştırmaktan çekinmeyin):

Şimdi içteki myfirstdjangoproject dizinine girelim ve Django'ya myblog'u bir uygulama olarak kullanmasını söyleyeceğimiz settings.py dosyasını bulalım:


cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

INSTALLED_APPS bölümünü bulun ve aşağıda gösterildiği gibi tek tırnak içine myblog'u ekleyin:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myblog'
)

(Bu arada, yukarıdaki Django ile başlayan satırlar, mevcut projede ilk oluşturulduğunda otomatik olarak etkinleştirilen ve geliştiriciye yönetim, kimlik doğrulama ile ilgili kod yazma konusunda yardımcı olması beklenen diğer Django uygulamalarını temsil etmektedir. / uygulamasındaki içerik türü bildirimleri vb.).

Böylece, bu Django örneğinde myblog diğer yerleşik uygulamalarla birlikte etkinleştirilecektir.