Kullanıldığı Başlıca Siteler



Benzer belgeler
Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

DENEYİMLİ PROGRAMCILAR İÇİN DJANGO'YA GİRİŞ. Serdar Dalgıç Yazılım Geliştirme Uzmanı Markafoni 23 Kasım 2013 Yeditepe Üniversitesi

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

Django Web Çerçevesi. Mete Alpaslan KATIRCIOĞLU, Emre YÜCE

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Postgresql: Web Programcısı için Gündelik İpuçları Postgres 2014 Türkiye

MOBİL UYGULAMA GELİŞTİRME

Open Source Coding: Python

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

License. Veri Tabanı Sistemleri. Konular. Uygulama Geliştirme Veri Tabanı Arayüzleri. uygulama kodunda veri işlemleri nasıl yapılacak?

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

SELÇUK ÜNİVERSİTESİ BOZKIR MESLEK YÜKSEKOKULU VERİTABANI-II DERSİ FİNAL SINAVI

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

Symfony Doctrine. Symfony-Doctrine. Deniz Bahadr GÜR, Mehmet Onur YALAZI. Özgür Web Teknolojileri Günleri, 2010

SQL Komutları (2) Uzm. Murat YAZICI

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

PostgreSQL ve PL/pgSQL

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

CBS DE PROGRAMLAMA DERSİ NOTLARI

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Mysql Veritabanı Komutları

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Gönderilen uygulama incelendiğinde, belirtilen gerekliliklerin bir kısmının karşılandığı görülmüştür.

ACCESS PLATFORMUNDA SQL

PostgreSQL ve PL/pgSQL

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

İNTERNET TABANLI PROGRAMLAMA- 12.ders

Bölüm 10: PHP ile Veritabanı Uygulamaları

PostgreSQL Veritabanı Sunucusu. Başarım Arttırma Yöntemleri

Veri Tabanı Yönetimi Lab#9

The RestructuredText Book Documentation

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Zope Uygulama Sunucusu

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

PostgreSQL'de Güvenlik

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

BAY.t Entegre. Aşağıdaki script fiyat gör programının ayarlar sayfasındaki sorgu cümlesi alanına yapıştırılıp Sorguyu Db ye Yükle tıklanır

Veri Tabanı ve Yönetimi

Nmap Sonuçlarının Yorumlanması

VERİTABANI. SQL (Structured Query Language)

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

Öğr.Gör.Murat KEÇECĠOĞLU 27 May. 28 May Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

EXISTS VE NOT EXISTS fonksiyonları

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

Mysql Klası Kullanılarak Yapılan Öğrenci Kayıt Uygulaması

Checkpoint SmartCenter da hızlı obje yaratmak

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

AKILLI TATIL PLANLAMA SISTEMI

Veri Tabanı Yönetim Sistemleri Bölüm - 5

Veri Tabanı Programlamaya Giriş

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

«BM364» Veritabanı Uygulamaları

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Basit bir web uygulaması

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

FreeBSD Üzerinde PostgreSQL i 8.1 e Güncelleme

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

Php Programlama Dili MySQL Uygulamaları

PostgreSQL İstemci Yetkilendirmesi ve Güvenliği

İnternet Programcılığı

Web Uygulama Anaçatıları. Tahir Emre KALAYCI. May 5, 2009

YAPISAL SORGULAMA DİLİ (SQL)

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

PostgreSQL Sunucu ve İstemci Komutları

VERİ GÜVENLİĞİ. Web Uygulamaları Güvenliği. Özer Çelik Matematik-Bilgisayar Bölümü

FreeBSD üzerinde PostgreSQL Temel Kurulum ve Yapılandırması

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

Project Vesta Documentation

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

MySQL, PostgreSQL, Oracle, Sybase, MsSQL, Berkeley, Firebird, Ms access

Ruby On Rails. Hüseyin Gömleksizoğlu

Program Kurulum. Turquaz Muhasebe. İçindekiler

LDAP VE WORDPRESS İLE

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

Useroam Cloud Kurulum Rehberi Cyberoam

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

BİLİŞİM TEKNOLOJİLERİ

Üst Düzey Programlama

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek

Transkript:

& Ege Hanoğlu

Django Nedir? Python programlama diliyle yazılmış Web Framework Django Reinhardt Temmuz 2005'te BSD lisansı ile yayınlanmıştır Güncel Sürüm 1.4 www.djangoproject.com

Kullanıldığı Başlıca Siteler

Avantajları Nelerdir? Kodlaması basit ve anlaması kolay Python kütüphanelerini kullanabilmesi Modüler yapıya sahip ORM (Object Relational Mapping) Daha güvenli Otomatik Admin Arayüzü oluşturması Internationalization Önbellekleme Çoklu Veritabanı

Neden Daha Güvenli? CSRF(Cross Site Request Forgery) Korumalı HTML Escaping ORM

Django'nun Bileşenleri Nelerdir? Templates Models Views

Django'nun Çalışma Yapısı Nasıldır? Browser Middlewares Template Url Decorators Context_processors View Models Forms Databases

Python'da Sanal Ortam Nasıl Kurulur? easy_install virtualenv virtualenv pgday_env cd pgday_env/ source bin/activate pip install -r requirements.txt requirements.txt: Django==1.3.1 PIL==1.1.7 psycopg2==2.4.2 python-memcached==1.47 ipython==0.11 django-debug-toolbar==0.9.4

Django Projesi Nasıl Başlatılır? django-admin.py startproject pgday pgday/ init.py manage.py settings.py urls.py

Postgresql Veritabanı Nasıl Yaratılır? createdb pgday -h localhost -U postgres Veritabanı yaratıldıktan sonra veritabanı ayarlarının settings.py'e girilmesi gereklidir. DATABASES = { 'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', } 'NAME': 'pgday', 'USER': 'postgres', 'PASSWORD': '123123', 'HOST': '127.0.0.1', 'PORT': '5432',}

Django Aplikasyonu Nasıl Başlatılır? django-admin.py startapp product product/ init.py models.py tests.py views.py Aplikasyon yaratıldıktan sonra settings.py dosyasındaki INSTALLED_APPS'a "pgday.product" satırını eklemeniz gerekir.

Product/models.py

Product/admin.py

Product/views.py

Product/forms.py

Urls.py & Product/urls.py

Templates/product/productlist.html

Templates/product/productdetail.html

Django ORM'si Nasıl Kullanılır? Product.objects.filter(name icontains = "Touch", is_active = True).exclude(stock_count = 0).order_by("-created_at") SELECT "product_product"."id", "product_product"."name", "product_product"."barcode", "product_product"."external_url", "product_product"."description", "product_product"."is_active", "product_product"."created_at", "product_product"."stock_count", "product_product"."sold_count", "product_product"."image" FROM "product_product" WHERE (UPPER("product_product"."name"::text) LIKE UPPER(%Touch%) AND "product_product"."is_active" = True AND NOT ("product_product"."stock_count" = 0 )) ORDER BY "product_product"."created_at" DESC d = datetime.datetime.now() - datetime.timedelta(days = 3) Product.objects.filter(Q(name istartswith = 'Pu') Q(created_at gt = d)).only("id", "name") SELECT "product_product"."id", "product_product"."name" FROM "product_product" WHERE (UPPER("product_product"."name"::text) LIKE UPPER(Pu%) OR "product_product"."created_at" > 2012-05-08 15:55:39.040286 ) ORDER BY "product_product"."created_at" DESC, "product_product"."name" ASC Product.objects.filter(stock_count lte = F('sold_count')).update(is_active = False) UPDATE "product_product" SET "is_active" = false WHERE "product_product"."stock_count" <= "product_product"."sold_count

Django ORM'si Nasıl Kullanılır? (2) Product.objects.using("default").all().aggregate(Sum("sold_count")) SELECT SUM("product_product"."sold_count") AS "sold_count sum" FROM "product_product" category, is_created = Category.objects.get_or_create(name = "Erkek") SELECT "mycategory"."id", "mycategory"."name" FROM "mycategory" WHERE "mycategory"."name" = E\'Erkek\' INSERT INTO "mycategory" ("name") VALUES (E\'Erkek\')' active_products = Product.objects.filter(is_active = True).only("name") active_products.count() -> 2 Product.objects.update(is_active = True) active_products.count() -> 3 Comment.objects.select_related().filter(content regex=r'[0-9]') SELECT "product_comment"."id", "product_comment"."product_id", "product_comment"."content", "product_comment"."email", "product_comment"."ip", "product_comment"."created_at", "product_comment"."is_approved", "product_product"."id", "product_product"."name", "product_product"."barcode", "product_product"."external_url", "product_product"."description", "product_product"."is_active", "product_product"."created_at", "product_product"."stock_count", "product_product"."sold_count", "product_product"."image" FROM "product_comment" INNER JOIN "product_product" ON ("product_comment"."product_id" = "product_product"."id") WHERE "product_comment"."content" ~ E\'[0-9]\' LIMIT 21

Django'da Transaction Nasıl Yapılır? Django her metod'un başında transaction'ı başlatır ve sonunda transaction'ı otomatik olarak commit eder. Bunu ayarlamak istediğimiz durumlarda aşağıdaki örnekteki gibi transaction'ı manuel olarak commit etmemiz gerekir. @transaction.commit_manually def payment(request, order): try: order.close() transaction.commit() else: transaction.rollback() raise Exception()

Veritabanından Dump Data Nasıl Alınır? python manage.py dumpdata format json indent 2 > initial_data.json Veritabanından Alınan Data Nasıl Import Edilir? python manage.py syncdb

Django1.4 ile Hangi Özellikler Gelmiştir? product = Product.objects.select_for_update().get(id = 1) product.sold_count += 2 product.save() Category.objects.bulk_create([Category(name = u Erkek ), Category(name = u Kadın ), Category(name = u Aksesuar )]) entries = Entry.objects.select_for_update().filter(author=request.user) = @sensitive_post_parameters( credit_card_number, cvv2 ) def payment(request): CSRF koruması artık PUT ve DELETE metodlarını da kapsıyor.

/egehanoglu Teşekkürler