21 Mart 2009 Cumartesi

Django sunucusunda statik dosyalar ve Dojo



Biliyorsunuz django'nun "manage.py runserver" komutuyla çalıştırdığımız basit bir Http sunucusu var, bu sunucu ile test ettiğim küçük uygulamama bir CSS dosyası yüklemek istedim. Css dosyasını proje dizinine kaydettim her zamanki gibi yüklenmesini bekledim;


< style type="text/css">
@import "style.css";
</style>


Ancak django sunucusunun root dizini projenin olduğu dizin değilmiş. Yani Css icin HTTP 400 kodu aldım :) Bu CSS'yi ancak şöyle yükleyebildim;

Önce projenin settings.py dosyasına şunu ekledim;


STATIC_DOC_ROOT = '/home/user/django/projectname'


Sonra urls.py dosyasını açıp settings'i import edip, sunucudan /root adında sanal bir dizini servis etmesini ve bunu STATIC_DOC_ROOT değişkenindeki adrese bağlamasını istedim.


from django.conf import settings
.
.
.
urlpatterns = patterns('',
(r'^root/(?P.*)$', 'django.views.static.serve',
{'document_root': settings.STATIC_DOC_ROOT}),
.
.
.


Sonra da css dosyasını @import "/root/style.css" ile yükleyebildim.

Aslında derdim Css dosyası değil Dojo idi. Dojo javascript ile yazılmış bir Web araç takımı. Dojo'yu projenin dizinine açıp önce içindeki css temasına bir bakayım demiştim sadece. Css'yi yukarıdaki gibi halledince zaten Dojo'yu da aynı şekilde yükleyebildim.


<script type="text/javascript"
src="/root/js/dojo-release-1.2.3/dojo/dojo.js"
djConfig="parseOnLoad:true, isDebug:true"></script>


Dojo AFL ve BSD lisansı ile geliştirilen hafif ve hızlı bir araç takımı, henüz tam olarak inceleyemedim ama sitesindeki örneklere bakılırsa çok basit, şık ve kullanışlı görünüyor.

Ancak günün sürprizi şu oldu; "Nalet olsun içimdeki daldan dala atlayıp durma hevesine" diye söylenip bunlar için gogıllama yaparken bir de karşıma dojango diye bir şey çıkmasın mı! Allahım bu dünyanın çivisi çıkmış demek geldi içimden :)

Hiç yorum yok:

Yorum Gönder