Ana içeriğe atla

Kayıtlar

Mart, 2018 tarihine ait yayınlar gösteriliyor

Django Şifre Sıfırlama Maili Gönderimi

Bu yazımızda kullanıcıya unutulan şifre için şifre sıfırlama maili göndermeyi göstereceğim.

Öncelikle mail gönderme işlemleri için kullanacağımız servis sağlayıcıyı seçiyoruz. Ben Yandex'i seçtim. Daha sonra settings.py dosyamıza e-mail gönderebilmek için gerekli ayarlamaları yapıyoruz.


Daha sonra views.py dosyamıza eğer eklemediysek gerekli django.contrib.auth modüllerini ekliyoruz.


views.py dosyasına gerekli eklemeleri yaptıktan sonra django'nun default şifre yenileme sayfasını urls.py dosyasına ekliyoruz.

İstediğimiz url'leri seçerek ya da hepsini birden ekleyebiliriz.


views.py ve urls.py dosyalarına gerekli eklemeleri yaptık. Şimdi e-mail gönderme işlemi çalışıyor mu test edelim.

Tarayıcımızdan http://127.0.0.1:8000/password_reset sayfasına giriyoruz. Herhangi bir template oluşturmadığımız için bizi default Django Password Reset sayfası karşılıyor.


Daha önce kayıt olmuş bir kullanıcının mail adresini giriyoruz ve Reset my password butonuna tıklıyoruz.

Ve e-mail'imiz g…

BLOG PROJESİ - Detay Sayfası "Slug" Oluşturulması, Resim ve Video İçeriğinin Eklenmesi ve Düzenlenmesi

Detay Sayfasının Oluşturulması Projemizde yazılmış olan gönderilerin ayrıntılı bir şekilde gösterileceği bir sayfa oluşturarak başlıyoruz. ilk olarak templates dizini altına bir adet "detay.html" adında sayfa oluşturuyoruz. Bu sayfada blogta yer alan gönderiye ait video, resim gibi içerikleri görüntülenecek. Ardından blog uygulamamızın altına yeni bir model oluşturmamız gerekli, bunun için models.py dosyasının içerisine; slug = models.SlugField(max_length=80, null=True, blank=True, help_text=u"Link otomatik alinir, Lutfen Degistirmeyiniz!") kodunu yerleştiriyoruz. Model kodlandı bunun uygulamamıza uygulanması için; ./manage.py makemigrations ./manage.py migrate komutlarını pycharm terminalden ilgili projede çalıştırıyoruz. Böylelikle uygulamamız için gerekli model blog paneline ve veritabanına yansımış ve oluşturulmuş oluyor. Blog detay sayfası için oluşturduğumuz model ile gerekli olan Slug temel, basit ismi kullanarak ulaşım sağlayacağız. Detaylar için Html sa…

Django Veritabanı Kurma

Meşe Bilişim Software Testing dersinde öğrendiğimiz Django web çatısı blog yazılarına devam ediyoruz. Bu yazımda oluşturduğumuz web uygulaması için veritabanı kurma işleminden kısaca bahsedeceğim.

(myvenv)  ~/mesebilisimsw/proje/proje 


├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

Proje dizinimizde settings.py dosyası içerisinde DATABASE alanında web uygulamalarımız için kullanacağımız veritabanını görebiliriz. Django web çatısı varsayılan olarak SQLite veritabanı kullanmaktadır.

Geliştirmekte olduğumuz "blog" uygulaması için biz de SQLite veritabanı kullanacağız. Varsayılan olarak Django bu veritabanını kullandığı için settings.py dosya içeriğinde bir değişiklik yapmamıza gerek yok fakat bu durumun nasıl olduğunu bilmemizde fayda var.

Kısaca SQLite veritabanından bahsetmek gerekirse; açık kaynak kodlu C ve C++ programlama dilleri ile oluşturulmuştur. SQLite kullanımı son derece kolaydır ve bu yönüyle ön plana çıkmaktadır. Platform bağımsız olarak çalışmaktadır.

Konumuz…

Django Uygulama Oluşturma

Meşe Bilişim şirketinde Software Testing dersi süresince öğreneceğimiz Django web çatısı hakkında ki yazı serimiz devam ediyor. Bu yazımızda da Django 1.9 sürümü ve GNU/Linux işletim sistemleri ile çalışıldığı varsayılmıştır.

Geçtiğimiz yazıda Django Proje Oluşturmaktan bahsetmiştik. Şimdi sıra ilk web uygulamamızı oluşturmaya geldi. Proje dizinimizde sanal ortamımızı (bkz:Virtual Environment nedir?) aktifleştirelim ve başlayalım.

(myvenv) ~/mesebilisimsw/proje $ python manage.py startapp blog

Yukarıda yer alan komutu terminal üzerinden işlettiğimizde Django bizim için ilk web uygulamamızı oluşturacaktır. Derslerimiz bir "blog" örneği üzerinden ilerlediği için uygulamamızın ismini "blog" olarak belirledik.

Projemizin yer aldığı dizinde oluşan yapının şu şekilde görünmesi gerekiyor.

├── blog
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└…

Python Virtual Environment Nedir?

Meşe Bilişim şirketinde Software Testing dersi süresince kullanacağımız araçlardan birisi olan Virtual Environment nedir, neden ihtiyaç duyuyoruz kısaca bu yazı ile bahsetmek istedim.

Python Virtual Environment; Türkçe ismi ile Sanal Ortam. Peki sanal ortamlara neden ihtiyaç duyuyoruz, bu araç hangi sorunun çözümü yazının geri kalanında bu soruya kapsamlı olmasa da yanıt vereceğiz.

Meşe Bilişim şirket kurucusu Şahin Mersin tarafından 2.hafta dersinde anlatılan Django kurulumu öncesinde bilmemiz gereken bir araç olan Sanal Ortam; birden fazla Python projelerinde olabilecek paket çakışmalarını önlemek amacı ile kullanılmaktadır.

Örnek vermek gerekirse; derste geliştirmekte olduğumuz blog uygulaması için Django 1.9 sürümünü kullanıyoruz. Fakat Django 2.0.2 sürümü yayınlandı. Sanal ortam aracılığıyla "blog" uygulamamızda Django 1.9 sürümünü kullanırken başka bir projede Django 2.0.2 yada farklı bir sürüm kullanabiliriz.


Sanal ortam sayesinde bir birinden ayrı projeler için yükle…

Virtual Environment Ve Python 2 Üzerinde Kurulumu

Virtual environment, Python tabanlı uygulamalarımız için izole bir sistem oluşturmamızı sağlar. Bu anlam olarak her projenin kendine has bağımlılıklara
sahip olması ile açıklanabilir. Bu sistem ayrıca versiyon uyuşmazlıklarının önlemek için birden fazla virtual environment oluşturulmasını gerektirir.
En basitinden kullandığımız sistem üzerinde farklı çalışmalarımız için farklı Python versiyonları bulundurmamız gerekebilir(Örneğin 2.7& 3.6 gibi).
Virtual environment ayrıca proje üzerinde kolay yönetime ve denetlemeye imkan tanır. Virtual enviroment kendine spesifik bir sunucu sistemi üzerinde çalışır. Kullandığımız
paketler bu sistem içerisinde tutulacağı için çalıştığımız işi kaldırmak istediğimizde, üzerinde çalıştığımız diğer projeleri etkilemeden kolaylıkla bu eylemi
gerçekleştiririz. Virtual environment globalde bulunan modül ve kütüphanelerimize linkler aracılığıyla bağlanır.Bu bize alan tasarrufu ve özellikle büyük verilerle
uğraştığımız, zamanın daha ön planda olduğu hesap…

Django Proje Oluşturma

Meşe Bilişim'de şirket kurucusu Şahin Mersin'in anlatımı ile ilk uygulamamızı ve projemizi oluşturduk. Kısaca ders esnasında gerçekleştiridiğimiz ve öğrendiğimiz adımlardan bahsedeceğim. Sürç-i lisan edersem lütfen yorum bölümünde düzeltiniz.

Django web çatısı, Git sürüm kontrol sistemi, Ubuntu işletim sistemi gibi ders içerisinde kullanacağımız unsurlardan daha önce bahsettim, bu yazıda kullanacağım ifade edeceğim her bilgi GNU/Linux dağıtımı üzerinde paragrafın başında bahsettiğim unsurlar ile gerçekleştirilmektedir.


Proje Oluşturma Django ile ilk projemizi oluşturmaya başlayalım. Öncelikle projemizi oluşturacağımız dizinde projelerimizin yer alacağı bir klasör oluşturalım. Meşe Bilişim Software Testing dersi dahilinde uygulama geliştirdiğimiz için ben klasöre "mesebilisimsw" ismini vereceğim.

mkdir mesebilisimsw

Komut satırından yukarıdaki komutu işlettiğimizde bizim için bulunduğumuz dizinde "mesebilisimsw" isimli bir klasör oluşturur. 
cd mesebilisimsw
Bu …

Django Web Çatısı nedir?

Python programlama dili yazılmış, web uygulamaları geliştirmek için tasarlanan Django  açık kaynak kodlu bir web framework, bir başka deyişle web çatısıdır. Django web çatısı BSD lisansı ile lisanslanmıştır. Merak edenler için lisans hakkında ayrıntılı bilgi "http://ozgurlisanslar.org.tr/bsd/" adresinde bulunmaktadır.

Django web çatısı ile kısa sürede Web uygulamaları oluşturmak mümkündür. Web geliştirme ile ilgili geliştiricilerin tekerleği tekrar icat etmesine yada Amerika'yı tekrar keşfetmesine gerek bırakmayan açık kaynak kodlu bu Web çatısı, Software Testing isimli ders süresince Meşe Bilişim şirketinde öğrenim unsurumuz olmaya devam edecek.

Meşe Bilişim şirket kurucusu Şahin Mersin ile giriş yaptığımız Django web çatısı hakkında nedir, neden kullanılır, nasıl kullanılır gibi sorulara bu seride cevap arayacağız. Elimden geldiğince bir süredir öğrenmekte olduğum Django web çatısı ile bildiklerimi buradaki yazılara aktarmaya çalışacağım, hatalı bir ifadem olursa, lütf…

Git Nedir ve Nasıl Kullanılır?

Meşe Bilişim şirket kurucusu Şahin Mersin ile birlikte Software Testing derslerimize devam ediyoruz. Ders süresince kullanacağımız Git sistemi ile ilgili kısa bir yazı yazmak istedim. Bu yazının amacı ders sırasında öğrendiklerimizi yazılı hale getirmek ve sistem hakkında daha fazla merak uyandırmaktır. Git ile ilgili birçok bilinmesi gerekeni yazıya dahil etmeyeceğim.

Git bir sürüm yada versiyon kontrol sistemidir. Versiyon kontrol sistemi; bir kaynak kodda meydana gelen değişiklikleri takip edebilmemizi sağlar. Basitçe ifade edersek Git sistemi bu değişiklerin kaydını ve içeriğini kullanıcısı için takip eder ve kayıt altına alır.

Versiyon kontrol sistemleri birden fazla kişinin yer aldığı projelerde aynı dosyalar üzerinde güvenli olarak çalışma imkanı sağlamaktadır. Versiyon kontrol sistemleri sayesinde değişikliklerin yapıldığı dosyalar doğru bir şekilde birleştirilebilir.Üzerinde çalışılmakta olan projenin versiyonları da sistem sayesinde kayıt altına alınır.

Linus Torvalds ve Lin…