Django ile Web Teknolojilerine Giriş
KADER SUCUK
@sucuklufasulye
WEB KATMANLARI
WEB SUNUCUSU
Örnek Uygulama için Nginx ayarları
server {
listen 80;
server_name abc.com;
client_max_body_size 20M;
location /admin {
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:///home/www-data/abc.com/abc/abc.sock;
root /home/www-data/abc.com/abc;
}
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:///home/www-data/abc.com/abc/abc.sock;
root /home/www-data/abc.com/abc;
}
location /static {
root /home/www-data/abc.com/abc;
}
location /uploads {
root /home/www-data/abc.com/abc;
}
location /api {
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:///home/www-data/abc.com/abc/abc.sock;
root /home/www-data/abc.com/abc;
}
}
Uygulama İletişim Protokolleri
Peki, sürekli erişilebilir olmayı nasıl sağlayacağız?
UYGULAMA SUNUCUSU
UYGULAMA KATMANI
Uygulamanın istekle ne yapacağı projenin ihtiyaçlarıyla ilgilidir ve her proje için baştan değerlendirilir
VERİTABANI
DJANGO FRAMEWORK
Django, Python ile yazılmış özgür bir web uygulama iskeletidir (framework). Bir web iskeleti, websitesi geliştirmeyi hızlandıran ve kolaylaştıran bileşenlerden oluşur. MVC mimari bakışı ile geliştirilmiştir.
HTTP İsteği →
Django URLresolver → Django View → Veritabanı→ Django View → HTTP Cevabı
DJANGO PROJEMİZ
mkdir djangogirls
cd djangogirls
python3 -m venv myvenv
source myvenv/bin/activate
pip install django==1.10
django-admin startproject mysite .
Ayarları değiştirme
../settings.py
TIME_ZONE = 'Europe/Istanbul'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
python manage.py migrate
python manage.py runserver
http://127.0.0.1:8000/
http://localhost:8000/
Modeller
python manage.py makemigrations
python manage.py migrate
Url Tanımları
View Katmanı
Template Katmanı
Nasıl Öğrenebilirim?
https://belgeler.yazbel.com/python-istihza/
https://www.jetbrains.com/pycharm/
http://www.sublimetext.com/2
Django Girls
Django Girls
https://djangogirls.org/
https://tutorial.djangogirls.org/tr/
TEŞEKKÜRLER :)