Bir Django projesinin yapısı


Django’yu öğrenmek isteyenlerin kafasını karıştıran konseptlerden biri, basit bir Django projesinin hiyerarşik yapısı ve bunun nasıl çalıştığıdır. Bir Django projesi başlatmak için önce sanal bir ortam oluşturun, bu ortama Django’yu yükleyin, ardından şu komutu çalıştırın: django-admin startproject myproject Bu komutu çalıştırdığınız dizinde myproject isimli bir klasör oluşacaktır. Bu klasöre girerseniz ana dizinde manage.py isimli bir dosya göreceksiniz. Bu dosyayı kullanarak Django’yu ayağa kaldırabilirsiniz: python manage.py runserver Eğer Django’nun komut satırında size verdiği adrese giderseniz, yerel ortamınızda çalışan, Django tarafından hazırlanmış bir web sayfası göreceksiniz.…
Read more ⟶

Web Accessibility & Suggestions


Web accessibility defines a broad spectrum of practices that make browsing the internet more accessible. Through the increased focus on accessibility of the web pages, it becomes possible to make a website inclusive to a variety of disability groups including but not limited to those with visual, auditory, and motor impairments. The accessibility of web pages gained more importance as the world wide web became a standard and the implementation of web browsers ended up in many devices we use today.…
Read more ⟶

Python ile metaprogramlamaya bir bakış


Haddim olmasa da bu konu hakkında bir yazı yazmak istiyorum zira bu konu hakkında Türkçe kaynakların bolluğundan yakınmıyoruz; aynı zamanda yazmak kişisel öğrenmemin de bir parçası. Önce tanımlamak gerekirse, metaprogramlama (programlama üstü ya da üst programlama) adından da anlaşılacağı üzerinde program programlamayı bir problem olarak inceliyor. Bir başka deyişle, normal işlerimizde bir program yazarız ve bu program bir “problem”i çözer. Eğer çözdüğünüz “problem” programlama ile ilgili ise metaprogramlama yapıyorsunuz demektir.…
Read more ⟶

Django’da uygulama bazlı önbelleklemeyi “context processor”lar bağlamında inceleyelim


Çok sofistike bir başlık oldu, ama basit bir konuya (ya da konunun basit kısmına) değineceğiz: ön belleğe alma. Biliyorsunuz ki veri tabanı sorgularını ne kadar optimize edersek edelim, bazen istediğimiz hızlara kavuşamıyoruz. Bu durumda hızı arttırmak için iyi çözümlerden biri verinin dinamikliğini azaltma tavizini vermek. Ön belleğe alma çok katmanlı bir yapı ve bulunan bağlama göre ne yaptığınız (neyi nasıl ön belleğe aldığımız) değişir. Ben bu yazıda uygulama bazında, yani tamamen sunucu kısmında yapacağımız ön belleğe alma işlemine değineceğim.…
Read more ⟶

Class based views are always better*


In the Django community, there is this long-running discussion that juxtaposes view styles that are offered by the web framework. One is a good-old function based style and the other is class based style. I certainly will not settle this discussion by asserting my ideas here, but I’ll try to convince you at least. Now, at some point in the framework, the only way to write views was using the functions.…
Read more ⟶