Django, güvenli ve bakımı kolay web sitelerinin hızlı bir şekilde geliştirilmesini sağlayan üst düzey bir web çerçevesidir. Ücretsiz ve açık kaynaklı olan bu çerçeve, Python ile yazılmıştır. Django ayrıca performans, güvenlik, ölçeklenebilirlik, taşınabilirlik ve bakım kolaylığı gibi ek özellikleri nedeniyle de popülerdir.
Bu kılavuz, Django'nun nasıl kurulacağını ve Ubuntu 20.04 üzerinde basit bir web uygulamasının nasıl kurulacağını gösterecektir..
Ubuntu üzerinde Django
Sistemde Django kurmanın birden fazla yolu vardır. Her yöntem farklı bir amaca uygundur.
- Global kurulum: Django, resmi Ubuntu paket depolarında kolayca mevcuttur. APT paket yöneticisini kullanarak doğrudan kurabiliriz. Kurulum yöntemi basit olsa da diğer yöntemlere göre daha az esneklik sunar. Ayrıca, çerçevenin en son sürümünü içermeyebilir.
- Bir sanal ortamda
pipkullanarak kurulum:venvvevirtualenvgibi araçları kullanarak sanal bir ortam oluşturabilir ve Django'yu oraya kurabiliriz. Bu yaklaşımın avantajı, daha geniş sistemi etkilememesidir. Ayrıca proje bazında özelleştirme ve paketlere izin verir. Django ile çalışmak için en pratik ve önerilen yöntemdir. - Django geliştirme sürümünü yükleme: Django ayrıca GitHub üzerinde de mevcuttur. En son geliştirme sürümü, en yeni özelliklere/düzeltmelere sahip olacaktır. Ancak bu, potansiyel performans ve kararlılık sorunları riskini de beraberinde getirir.
Bu kılavuz, düzgün şekilde yapılandırılmış bir Ubuntu sunucunuzun olmasını bekler. Henüz bir Ubuntu sunucunuz yoksa, kendi Ubuntu sunucunuzu nasıl kuracağınıza dair kılavuzumuzu takip edebilirsiniz.
Ubuntu üzerinde Django Kurulumu
1. Paket yöneticisini kullanarak global kurulum
Django, resmi paket depolarında kolayca mevcuttur. Kurulum işlemi oldukça basittir. İlk olarak, APT paket dizinini güncelleyin:
|
1 |
$ sudo apt update |
Ardından, kurulu Python sürümünü kontrol edin. Varsayılan olarak Ubuntu 20.04, Python 3.8 ile birlikte gelir:
|
1 |
$ python3 -V |
Şimdi Django'yu kurmaya hazırız:
|
1 |
$ sudo apt install python3-django |
Kurulumun başarılı olup olmadığını doğrulayabiliriz. Django sürümünü kontrol etmek için aşağıdaki komutu çalıştırın:
|
1 |
$ django-admin --version |
Bu, Django'nun başarıyla kurulduğunu doğrular. Django sürümünün en son kararlı sürüm olmadığını unutmayın. Bu yazının yazıldığı sırada mevcut en son Django sürümü: v3.2.5 (LTS sürümü).
2. Django'yu pip ile kurma (sanal ortamda)
Bu, en fazla esnekliğe sahip olduğu için Django'yu kurmanın önerilen yoludur. Sanal ortamı, Python 3 standart kütüphanesinin bir parçası olarak gelen venv modülünü kullanarak oluşturacağız. Bu modül, sanal Python ortamları oluşturmanıza ve Python paketleri kurmanıza, sistemin başka yerlerinde değişikliklere yol açmadan olanak tanır. Benzersiz yapılandırmalara sahip çok sayıda sanal ortama sahip olabilirsiniz.
Hadi başlayalım. İlk olarak, Python pip ve venv modüllerine ihtiyacımız var:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
Modüller başarıyla kuruldu. Şimdi, sanal ortam için özel bir dizin oluşturacağız:
|
1 |
$ mkdir -pv ~/sample_project |
Ardından, aktif dizini yeni dizinle değiştirin:
|
1 |
$ cd ~/sample_project |
Şimdi, venv modülüne dizin içinde sanal bir ortam oluşturmasını söyleyebiliriz. Ortam adı açıklayıcı bir şey olmalıdır:
|
1 |
$ python3 -m venv sample_project_env |
The venv modülü, Python ve pip kopyasını proje dizini içindeki izole bir dizin yapısına oluşturacaktır. Bu yapı, tüm paketlerin kurulu olduğu dosya hiyerarşisini içeren, seçilen ada sahip bir dizin barındıracaktır.
Ek paketler kurmak için ortamı etkinleştirmemiz gerekir:
|
1 |
$ source sample_project_env/bin/activate |
Kabuk istemi şuna benzer bir şekilde değişmelidir:
Sanal ortam içinde artık Django'yu kurabiliriz:
|
1 |
$ pip install django |
Kurulumun başarılı olup olmadığını doğrulayın:
|
1 |
$ django-admin --version |
Sanal ortamdan çıkmak için aşağıdaki komutu çalıştırın:
|
1 |
$ deactivate |
3. Django geliştirme sürümünün kurulması
Django geliştirme sürümü doğrudan GitHub üzerinde mevcuttur. Bunu sanal bir ortamda klonlamak ve dağıtmak için git kullanacağız.
İlk olarak, gerekli araçların kurulu olduğundan emin olun. Aşağıdaki komut venv ve pip (Python modülleri) ile git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
Ardından, Django deposunu klonlayın. Bu depo, en son özellikleri ve hata düzeltmelerini içerecektir (kararlılık pahasına). Depoyu şu dizine klonlayacağız: ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Mevcut dizini klonlanan depo olarak değiştirin:
|
1 |
$ cd ~/django-dev |
Bundan sonra, Python venv modülünü kullanarak sanal bir ortam oluşturun:
|
1 |
$ python3 -m venv sample_project_env |
Ardından, sanal ortamı etkinleştirin:
|
1 |
$ source sample_project_env/bin/activate |
Şimdi, GitHub'dan klonladığımız Django'yu kurabiliriz. Burada, -e bayrağı, sürüm kontrolünden kuruluma izin vermek için “düzenlenebilir” (editable) modu ifade eder:
|
1 |
$ pip install -e ~/django-dev |
Son olarak, kurulumu doğrulayın:
|
1 |
$ django-admin --version |
Örnek Django Projesi
Şimdiye kadar Django'nun sisteme nasıl kurulacağını gösterdik. Şimdi Django'yu harekete geçirme zamanı. Bu bölümde, örnek bir Django projesinin nasıl oluşturulacağını göstereceğiz. Örnek proje sanal bir ortam içinde oluşturulacaktır.
Örnek proje için bir dizin oluşturun:
|
1 |
$ mkdir -pv ~/django-test |
Mevcut dizini proje dizini olarak değiştirin:
|
1 |
$ cd ~/django-test |
Ardından, bir Python sanal ortamı oluşturmak için venv modülünü kullanın:
|
1 |
$ python3 -m venv dummy_env |
Sanal ortam hazır. Ortamı etkinleştirin:
|
1 |
$ source dummy_env/bin/activate |
Django'yu ortamın içine kurabiliriz:
|
1 |
$ pip install django |
Proje temelini oluşturmak için django-admin kullanabiliriz. Burada, örnek proje sampleproject olarak adlandırılacaktır. Proje, ortam dizini içinde gerekli tüm dosyaları içeren bir dizine sahip olacaktır.
manage.py: Django'ya özgü çeşitli görevleri yöneten bir yönetim betiğidir.örnek proje: Gerçek proje kodunu içeren, proje adını taşıyan bir dizindir.
Ancak, çok fazla iç içe geçmiş dizin karmaşası istemiyoruz. Bu nedenle, Django'ya dosya ve dizinleri mevcut dizine yerleştirmesini söyleyin:
|
1 |
$ django-admin startproject sampleproject . |
Bir sonraki adım veritabanını taşımaktır. Varsayılan olarak Django, SQLite. kullanır. Göçler (Migrations), Django modellerinde yapılan değişiklikleri veritabanı şemasına uygular. Veritabanını taşımak için aşağıdaki komutu çalıştırın:
|
1 |
$ python manage.py migrate |
Son olarak, Django yönetim arayüzünü kullanmak için bir yönetici (admin) kullanıcısı oluşturacağız. Aşağıdaki komutu çalıştırın:
|
1 |
$ python manage.py createsuperuser |
Kullanıcı için bir kullanıcı adı, e-posta adresi ve şifre isteyecektir.
Django Ayarlarında ALLOWED_HOSTS
Uygulamayı test etmek için Django ayarlarındaki belirli bir yönergeyi değiştirmemiz gerekiyor. Bir metin düzenleyicide settings.py dosyasını açın:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Bizi ilgilendiren yönerge ALLOWED_HOSTS yönergesidir. Bu yönerge, Django örneğine bağlanabilecek adreslerin veya alan adlarının bir listesini tanımlar. Listede olmayan bir ana bilgisayardan gelen herhangi bir istek bir istisna fırlatacaktır. Belirli güvenlik açıklarını önlemek için Django tarafından zorunlu kılınmıştır.
Köşeli parantez içinde, Django sunucusuyla ilişkili IP adreslerini veya alan adlarını listeleyin. Her bir öğe tırnak içinde yazılacak ve virgülle (,) ayrılacaktır. Yönergenin yapısı şu şekilde görünecektir:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Listeyi kaydedin ve düzenleyiciyi kapatın.
Sunucuyu Test Etme
Artık Django dağıtım sunucusunu başlatabiliriz. Bu, yeni bir Django projesi sunacaktır. Bunun yalnızca geliştirme amaçlı kullanılması gerektiğini unutmayın. Tam teşekküllü bir dağıtım için, resmi Django dağıtım kılavuzunu.
Geliştirme sunucusuna erişmeden önce, güvenlik duvarının şu porta erişime izin verdiğinden emin olun: 8000. Eğer Ubuntu sunucu kurulumu kılavuzunu takip ediyorsanız, UFW'ye 8000 portunu iletişim için açmasını söyleyin:
|
1 |
$ sudo ufw allow 8000 |
UFW, tüm büyük Linux dağıtımlarında bulunan yaygın bir güvenlik duvarıdır. İşte UFW'nin çeşitli temel özelliklerini açıklayan bir kılavuz. Geliştirme sunucusu artık çalışmaya hazır. Sunucuyu başlatın:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
Ardından, bir web tarayıcısında sunucunun IP adresini 8000 portunda ziyaret edin. Django karşılama sayfası açılacaktır:
|
1 |
$ http://<server_ip>:8000 |
Django yönetim paneline erişmek için, /admin/ ifadesini URL'nin sonuna ekleyin:
|
1 |
$ http://<server_ip>:8000/admin/ |
Yönetici bölümüne erişmek için yönetici kullanıcı adını ve şifresini girin:
Terminalde CTRL-C tuşlarına basarak sunucuyu durdurabilirsiniz.
Son Düşünceler
Django projesi, daha eksiksiz bir site tasarlamak için yapısal bir temel sunar. Bir web uygulamasını çalıştırmak için gereken ana araçları sağlar. Django gibi bir web çerçevesinden yararlanmak, projeyi daha hızlı geliştirmenize ve uygulamanızın benzersiz yönlerine daha fazla zaman ayırmanıza olanak tanır.
Keyifli Kodlamalar!












Yorumlar
Henüz yorum yapılmamış. İlk siz olun.