<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hüseyin Berberoğlu&#039;nun web günlüğü &#187; Django</title>
	<atom:link href="http://www.birazkisisel.com/category/web-programlama/django-web-programlama/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.birazkisisel.com</link>
	<description>Wordpress Hacker / Web Developer</description>
	<lastBuildDate>Sun, 27 Jun 2010 20:23:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Django nasıl kurulur ?</title>
		<link>http://www.birazkisisel.com/django-nasil-kurulur/</link>
		<comments>http://www.birazkisisel.com/django-nasil-kurulur/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 14:12:43 +0000</pubDate>
		<dc:creator>Hüseyin Berberoğlu</dc:creator>
				<category><![CDATA[(Web) Programlama]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[kurulum]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.birazkisisel.com/?p=143</guid>
		<description><![CDATA[Django, Python programlama diliyle yazılan ve web projelerini çok daha (inanılmaz) hızlı bir şekilde yapmayı sağlayan bir web programlama çatısıdır. Gerek php frameworkleri gerekse python frameworklerini incelediğimde ,aralarında en çok ilgimi çekeni Django oldu. Artık elimden geldiğince Django ile ilgili yazılar yazmayı planlıyorum. Çünkü ne kadar çok insanı Django ile tanıştırırsam o kadar çok insan [...]]]></description>
			<content:encoded><![CDATA[<p>Django, Python programlama diliyle yazılan ve web projelerini çok daha (inanılmaz) hızlı bir şekilde yapmayı sağlayan bir web programlama çatısıdır. Gerek php frameworkleri gerekse python frameworklerini incelediğimde ,aralarında en çok ilgimi çekeni Django oldu. Artık elimden geldiğince Django ile ilgili yazılar yazmayı planlıyorum. Çünkü ne kadar çok insanı Django ile tanıştırırsam o kadar çok insan bana bu yüzden dua edecektir :P Bu yazıda Django&#8217;yu sistemimize nasıl kuracağımızı anlatacağım. Aslında çok kolay :)</p>
<h3 style="text-align: left;">Pardus&#8217;a Django nasıl kurulur ?</h3>
<p style="text-align: left;">Öncelikle Django&#8217;nun Pardus&#8217;a nasıl kurulacağını yazmak istiyorum. Öncelik vermemin sebebi çok kolay kurulması, hatta yazının devamındaki işlemleri yapacağınıza <a title="Pardus" href="http://www.pardus.org.tr">Pardus</a>&#8216;u ~30 dakikada (indirme hariç)  <a title="Pardus nasıl kurulur?" href="http://www.pardus.org.tr/belgeler/kurulum_nasil.html">kurup</a> tek bir komut ile Django&#8217;yu yükleyin, hiç başka işlerle uğraşmayın :)</p>
<p style="text-align: left;">Konsolda &#8220;<strong>sudo pisi it Django</strong>&#8221; komutunu verin veya paket yöneticisi PiSi yoluyla <strong>Django</strong> paketini yükleyin. Bu kadar :) Tüm bağımlılıklar otomatik olarak kurulacaktır. Diğer linux dağıtımlarda da kurulum büyük ihtimalle paket yöneticileri sayesinde bu şekilde gerçekleşecektir. Şimdi diğer sistemlerde nasıl kurulacağına geçelim.</p>
<h3 style="text-align: left;">Windows gibi sistemlere Django nasıl kurulur ?</h3>
<h4 style="text-align: left;">Önce Python kuralım..</h4>
<p style="text-align: left;">Django&#8217;nun Python dili ile yazıldığını söylemiştim. Bu yüzden sisteminizde öncelikle Python&#8217;un 2.3 ve üstü versiyonu yüklü olmalı. Eğer sisteminiz Linux ise büyük ihtimalle Python zaten kurulu durumdadır. Sistemde Python&#8217;un kurulu olup olmadığını konsolda &#8220;<strong>python</strong>&#8221; komutunu vererek anlayabilirsiniz. Eğer &#8220;Python 2.5.2 (r252:60911, Jul  2 2008, 19:59:19)&#8221; gibi bir satırla başlayan bir şeyle (aslında bu şey Python&#8217;un interaktif yorumlayıcısı yani Python kodlarını yazdığınız anda çalıştırıp size çıktısını veriyor) karşılaşırsanız Python yüklü demektir. Eğer sisteminizde python yüklü değilse <a title="Python yükle" href="http://www.python.org/download/">buradan</a> yükleyebilirsiniz.</p>
<h4 style="text-align: left;">Veritabanı sisteminin Python ile çalışabilmesini sağlayalım</h4>
<p style="text-align: left;">Sisteminizde Python&#8217;un yüklü olduğundan emin olduktan sonra kullanacağınız veritabanının python ile çalışabilmesi için gerekli olan paketi yüklemelisiniz.</p>
<ul style="text-align: left;">
<li>MySQL için  <a class="reference external" href="http://sourceforge.net/projects/mysql-python">MySQLdb</a> yüklemelisiniz ki ben MySQL kullanıyorum.</li>
<li>PostgreSQL için<a title="pysqlcopg" href="http://initd.org/pub/software/psycopg/"> <span class="reference external">psycopg</span></a> yüklemelisiniz. Windows için olan resmi olmayan versiyonu <a class="reference external" href="http://stickpeople.com/projects/python/win-psycopg/">burada</a>.</li>
<li>SQLite için <a title="pysqlite" href="http://initd.org/pub/software/pysqlite/releases/2.4/2.4.1/">pysqlite</a> yüklemelisiniz.</li>
<li>Oracle için  <a class="reference external" href="http://cx-oracle.sourceforge.net/">cx_Oracle</a> yüklemelisiniz.</li>
</ul>
<p style="text-align: left;">Veritabanı için gerekli paketi de yükledikten sonra artık Django kurulumuna hazırsınız.</p>
<h4 style="text-align: left;">Django kuralım</h4>
<ol style="text-align: left;">
<li>Önce Django&#8217;yu <a class="reference external" href="http://www.djangoproject.com/download/">buradan</a> indirelim. Örneğin alpha sürümü olan  <a href="http://www.djangoproject.com/download/1.0-alpha/tarball/">Django-1.0-alpha.tar.gz</a> dosyasını indirebilirsiniz.</li>
<li>İndirdiğimiz sıkıştırılmış dosyayı açalım. Windows kullananlar sadece bu dosyayı açmada değil her zaman <a title="7-zip download" href="http://www.7-zip.org/">7-Zip</a> kullansın :)</li>
<li>Komut satırını kullanarak açtığım klasörün içine girip &#8220;<strong>python setup.py install</strong>&#8221; komutunu verelim. Yalnız bu komutu administrator haklarıyla vermemiz gerekiyor.</li>
</ol>
<p style="text-align: left;">Ve böylece Django kurulumunu tamamlamış oluyoruz. Bu şekilde kurulumu yaptığınız zaman Django Python klasörünün içinde bulunan site-packages klasörüne kuruluyor. Peki python klasörüm nerede derseniz konsolda <a href="http://sudrap.org/paste/4158/">bu</a> komutu vererek bunu öğrenebilirsiniz;</p>
<h4 style="text-align: left;">Kurulum tamamlandı(mı?)</h4>
<p style="text-align: left;">Kurulumun tamamlanıp tamamlanmadığını ilk Django projemizi oluşturmaya çalışarak anlayabiliriz. Django projesi oluşturmak için konsolda şu komutu verin;</p>
<p style="text-align: left;"><tt class="docutils literal"><span class="pre">django-admin.py</span> <span class="pre">startproject</span> <span class="pre">ilksite</span></tt></p>
<p style="text-align: left;">Eğer bu komut <strong>ilksite</strong> adında bir klasör oluşturdu ve içinde<strong> __init__.py</strong> varsa Django kurulumu tamamlanmış demektir. Eğer bu yazıyı buraya kadar okuyup Django kurduysanız lütfen en azından &#8220;kurdum&#8221; gibi yorum yazın :)</p>
<h4 style="text-align: left;">Django&#8217;yu kurdum, şimdi ne yapmalıyım ?</h4>
<p style="text-align: left;">Şimdi eğer İngilizce biliyorsanız <a title="Django Tutorial" href="http://www.djangoproject.com/documentation/tutorial01/">Django Tutorial</a>&#8216;ı okumaya başlayabilirsiniz. Tutorial&#8217;dan sonra <a title="Django Book" href="http://www.djangobook.com">Django Book</a>&#8216;u tavsiye ederim. Eğer İngilizce bilmiyorsanız <strong>sonraki yazımı beklemeye başlayın</strong>. Beraber adım adım bir <strong>Django</strong> <strong>uygulaması geliştireceğimizi </strong>umuyorum. Umuyorum çünkü yazı yazacak zaman bulma konusunda sıkıntı çekiyorum.</p>
<p style="text-align: left;">Siz en iyisi siteye <strong>e-posta abonesi</strong> olun veya <strong>RSS</strong> beslememe abone olun ve yeni yazılarımı rahatça takip edin :) Bir sonraki yazıda görüşmek üzere, esen kalın :) Yorumlarınızı eksik etmezseniz sevinirim.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.birazkisisel.com/django-nasil-kurulur/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Django, Python, MVC, Django</title>
		<link>http://www.birazkisisel.com/django-python-mvc-django/</link>
		<comments>http://www.birazkisisel.com/django-python-mvc-django/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 18:50:20 +0000</pubDate>
		<dc:creator>Hüseyin Berberoğlu</dc:creator>
				<category><![CDATA[(Web) Programlama]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.birazkisisel.com/?p=147</guid>
		<description><![CDATA[Django&#8216;yu daha önce duymuş muydunuz yoksa Django nedir diyenlerden misiniz ? Bu yazı sizi Django&#8217;ya ısındırmak amacıyla yazılmış bir yazı olacak. Django, Python programlama diliyle yazılmış ve BSD lisansı ile lisanslanmış bir web programlama çatısıdır. Python dili nasıl bir şey diyorsanız size örnek olması açısından, Python ile if deyiminin nasıl yazıldığını göstereyim; &#62;&#62;&#62; x = [...]]]></description>
			<content:encoded><![CDATA[<p><a title="django resmi web sitesi" href="http://www.djangoproject.com/documentation/tutorial01/" target="_blank"><img class="alignleft" style="margin: 5px; float: left;" src="http://media.djangoproject.com/img/site/hdr_logo.gif" alt="Django nedir" width="117" height="41" />Django</a>&#8216;yu daha önce duymuş muydunuz yoksa Django nedir diyenlerden misiniz ? Bu yazı sizi Django&#8217;ya ısındırmak amacıyla yazılmış bir yazı olacak.</p>
<p>Django, <a title="python resmi web sitesi" href="http://python.org/" target="_blank">Python</a> programlama diliyle yazılmış ve <a title="BSD lisansı" href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">BSD lisansı</a> ile lisanslanmış bir web programlama çatısıdır. Python dili nasıl bir şey diyorsanız size örnek olması açısından, Python ile if deyiminin nasıl yazıldığını göstereyim;</p>
<pre>&gt;&gt;&gt; x = int(raw_input("Please enter an integer: "))
&gt;&gt;&gt; if x &lt; 0:
...      x = 0
...      print 'Negative changed to zero'
... elif x == 0:
...      print 'Zero'
... elif x == 1:
...      print 'Single'
... else:
...      print 'More'
...</pre>
<p>{ } gibi gereksiz şeyler yok <em>else if </em>yerine <em>elif</em> yazıyoruz. Ne kadar kolay değil mi ? Google, Youtube, NASA gibi büyüklerin Python kullandığını da ekleyeyim.</p>
<p>Dönelim Django&#8217;ya&#8230; Django ile istediğiniz her türlü web projesini yapabilirsiniz. Django ile yapılan bazı projeleri <a title="Django web sites" href="http://www.djangosites.org/" target="_blank">burada</a> bulabilirsiniz. Size en iyi örnek <a title="Özgürlük İçin" href="http://www.ozgurlukicin.com/haber/pardus-2008-yenilikleri/" target="_blank">Özgürlükİçin</a> sitesi olabilir, tamamı Django kullanılarak yapıldı. Özgürlükİçin&#8217;in kodlarını <a title="özgülrük için sv" href="http://svn.pardus.org.tr/oi/trunk/" target="_blank">buradan</a> inceleyebilirsiniz.</p>
<p>Django ile MVC (Model &#8211; View &#8211; Controller) yapısını kulanarak web siteleri geliştiriyoruz. Bu yüzden önce bu yapıyı anlamak gerekiyor. Bu yapıda kısaca; veri (model) ile görünümü (view) birbirinden ayırarak controller katmanında kullanıcı işlemlerini tanımlıyoruz. MVC ile daha fazla bilgiyi bulabileceğiniz yerler; <a title="Model View Controller Tğrkçe" href="http://tr.wikipedia.org/wiki/MVC" target="_blank">Vikipedi</a>, <a title="Model View Controller İngilizce" href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank">Wikipedia</a> ve <a title="Goog MVC" href="http://www.google.com.tr/search?hl=tr&amp;q=MVC" target="_blank">Google</a>.</p>
<p>Django ile tanışmadan önce PHP kullanıyordum. Herhangi bir framework kullanmıyordum. Ancak size tavsiyem bir framework kullanmanız. Çünkü işleri gerçekten çok hızlandırıyor ve gereksiz zaman kaybetmiyorsunuz. PHP frameworklerinin listesini <a title="php framewrosk" href="http://www.phpframeworks.com/index.php5" target="_blank">burada</a> bulabilirsiniz.</p>
<p>Django&#8217;da veri (model) yapısını oluşturduktan sonra verdiğiniz bir komut ile yönetim panelininde otomatik oluşturulmsaı gördüğüm en büyük faydalarından biri. Bir diğer güzelliği ise süper bir hata ayıklama sistemine sahip olması. Hata ayıklama sisteminden bazı görüntüler;</p>
<p><a href="http://www.birazkisisel.com/wp-content/uploads/2008/07/django_404.png" rel="lightbox[147]"><img class="alignnone size-thumbnail wp-image-148" title="django_404" src="http://www.birazkisisel.com/wp-content/uploads/2008/07/django_404-150x150.png" alt="" width="150" height="150" /></a><a href="http://www.birazkisisel.com/wp-content/uploads/2008/07/django_error_at_accounts_register.png" rel="lightbox[147]"><img class="alignnone size-thumbnail wp-image-149" title="django_error_at_accounts_register" src="http://www.birazkisisel.com/wp-content/uploads/2008/07/django_error_at_accounts_register-150x150.png" alt="" width="150" height="150" /></a><a href="http://www.birazkisisel.com/wp-content/uploads/2008/07/django_missing_template.png" rel="lightbox[147]"><img class="alignnone size-thumbnail wp-image-150" title="django_missing_template" src="http://www.birazkisisel.com/wp-content/uploads/2008/07/django_missing_template-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Bu yazı ile Django&#8217;yu kısaca tanıtmak istedim. Bence şimdi <a title="django web project" href="http://www.djangoproject.com/documentation/tutorial01/" target="_blank">Django resmi web sitesi</a>ndeki <a title="django tutorial" href="http://www.djangoproject.com/documentation/tutorial01/" target="_blank">örnek uygulamayı</a> yapmaya başlayın. Örnek uygulamayı yaparsanız Django nedir, ne değildir; Django ile nasıl web sitesi oluşturulur gibi sorularınızın cevabını bulacaksınız. Mutlaka bir göz atın !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.birazkisisel.com/django-python-mvc-django/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
