HTML sayfası içinden CSS ve Javascript dosyalarına nasıl link verilir?


Basit bir HTML dosyasını dışarıdan stilize etmek için CSS kullanırız. Aynı şekilde sayfamıza etkileşim katmak için ise Javascript kullanırız. Her ikisi de mevcut html dosyası içerisinde dışarıdan linkle ithal edilmeksizin direkt olarak tanımlanabilmektedir. Ancak bu kod okunabilirliği ve modülerlik bakımından tercih edilen bir yöntem sayılmaz.
Peki nasıl tanımlarız dış CSS ve Javascript dosyalarını: Aşağıda gösteriliyor:

https://gist.github.com/suatatan/f2fc490f01359d2cc13f.js

Reklamlar

Web.Py için kullanıma hazır dizin


Yandex gibi büyük internet sitelerinin de kullanmakta olduğu Web.Py adlı meşhur, basit ve kullanışlı python web framework’u bilindiği üzere Google App Engine’nin kendi framework’unun da ruhunu oluşturmaktadır. Bu noktada Web.py’nin nasıl kullanıldığına girmeden; (vakit az, eğer talep olursa onun için ayrı bir post açarım) Web.py framework’ünü bilgisayarıza indirip hemen kullanabilmeniz için hazırladığım aşağıdaki dosyayı sunuyorum.

Web.py framework’ün güzel taraflarından biri de; ek bir sunucu kurulumuna gerek bırakmamasıdır. Dosyayı indirdikten sonra Windows altında run dosyasını çalıştırdıktan sonra: web browserinızda http://localhost:1234 adlı url’ye girdiğinizde web.py framework’unun çalışan ana sayfasını göreceksiniz.
Dizinde; templating sistem ve statik dizin ayarlamaları yapılmıştır.

Soru olursa memnuniyetle cevaplanacaktır.

Dizinin linki:

Python ile XML verisini işlemek (parse etmek)


Aşağıda bir projemde kullandığım ve işinize yarayabilecek bir örnek var. İteratif XML verilerini ayıklamak işinizi görecektir
XML değişkenine atanmış XML satırları bir sonraki kodlarla işlenmektedir:
Burada kullanılan kütüphane Minidom’dur. Python’un standart kütüphanesidir ve Google App Engine içinde de kullanımı mümkündür.
https://gist.github.com/3e64fdc2a0586943a0ed.js



Bu işlem aşağıdaki gibi de yapılabilir:


dom = parseString(XML)
        
        questions=dom.getElementsByTagName(‘question’)
        for question in questions:
            #NVAL=node.getElementsByTagName(“id”)[0].toxml()
            id=question.getElementsByTagName(“id”)[0].firstChild.data
            text=question.getElementsByTagName(“text”)[0].firstChild.data
            
    
            RESULT=RESULT+id+“
”;

        self.response.out.write(RESULT)

Google App Engine kitabımda bazı okurlarımızın 7. bölümde karşılaştıkları hata hakkında


Okurlarımdan Cemali Gencer Bey şöyle sordu:

Merhaba Suat Bey, Kitabınızdaki 7 Bölümde bulunan uygulamada problem yaşadım. Users kütüphanesi ve üye oturum yönetimi örneği (projem6 örneği) örneğini çalıştıramadım.Karşıma anlamadığım hatalar çıktı ekran görüntüsünü de bir adrese yükledim vaktiniz varsa inceler misiniz?


Cevabım:

Sorunun kaynağı; anaprogram.py dosyasındaki # ile başlaytan yorum satırlarında geçen bozuk karakterlermiş. Bu 2. kere sizde oldu. Sebebi kullandığınız kod editörlerindeki codeset ayarları olabilir. Ancak ayrıntıya hiç gerek yok. Hata raporunda dikkat ettiyseniz ‘ascii codec’ can’t decode hatasına bir daha denk gelirseniz python dosyanızdaki bozuk karakter varsa silin.

Düzeltilmiş kaynak kodlar şuradan indirilebilir.

Kendisine teşekkür ederim.

Google App Engine’de dosya upload etme


Google App Engine ile dosya upload etmek için aşağıdaki kodları kullanabilirsiniz. Bu kodları test ettiğinizde önce dosya ekleme arayüzü açılır sonra dosyanız yüklendikten sonra “dosya yüklendi” diye ifade çıkar. Ayrıca bir link çıkar bu linke tıklayınca dosyanızın sunucadaki halini geri indirebiilirsiniz.
Peki dosyanız nereye kaydedilmiş oluyor?
Google App Engine’de bildiğimiz anlamda bir FTP yoktur. Bu nedenle dosya herhangi bir dizin içine değil, blobstore denilen bir nevi dosya veritabanına kaydedilir. Bu blobstore’a gerek lokalde gerek gerçek sunucuda “Yönetici Dashboard” üzerinden erişip görebilirsiniz.

https://gist.github.com/171af1a0a8486d488a13.js

Generating custom unique id with python:


You can generate custom unique key for databases in python

from datetime import *
from random import *  
def generate_uniqid(self,prefix=“S”,suffix=“F”): now=datetime.datetime.now() SEC= str(now.second) m = str(now.minute) H = str(now.hour) D = str(now.day) M = str(now.month) Y = str(now.year) rn=str(randint(0,10000)) return prefix+Y+M+D+H+m+SEC+“-”+rn+suffix

Converting Google App Engine Datastore Model Class to XML


Model class actually have to_xml() function but this xml schema not customizable and entity based. You can export your model as xml with bit of code:
This functionality is good for data exporting operations:

class TestModule(webapp.RequestHandler): 
    def get(self):
        props=AuditLog().properties()
        data=“n”
        for prop in props:
            data=data+“  {{i.%s}}%s>n”%(prop,prop,prop)
        data=data+“”        
        self.response.out.write(data)

Using Decorators in Google App Engine


If you can use python decorator in your app engine project, there is tiny and smart example below which you can use it:
The print will be user email

def uzman(func):
    def check_auth(*args, **kwargs):
        user=users.get_current_user()
        print user
        return func(*args, **kwargs)
    return check_auth

class TestModule(webapp.RequestHandler):
    @uzman
    def get(self): 
          pass

Google App Engine de şahsi domain kullanılabiliyor mu?


Soru:

Suat hocam iyi günler
Google App Engine hakkındaki kitabınızı aldım ufak ufak uygulamlar yapmaya başlayacağım inşallah.Benim iki sorum olacak 
1-)Aldığımız domaini-örneğin abc.com gibi- Google app engine uygulamasına nasıl adapte edeceğiz
2-)Appspot.com uygulamları web servislere destek veriyor mu?Google bazı politikaları gereği web servislere izin vermiyor deniyor forumlarda.Peki web servis gerektiren işlemleri nasıl yapacağız?Saygılarımla.Selçuk ÖKMEN

Cevap:
Merhabalar;
1) Google App Engine ile şahsi olarak aldığınız selcukokmen.com gibi bir adresle de kullanabilirsiniz. Malum olduğu üzere Google App Engine üzerinde sayfanızı yayınladığınızda şuna benzer bir url alırsınız: selcukoktem.appspot.com. selcukoktem.com adresini appspot.com uzantılı adrese yönlendirebilirsiniz. Bu CNAME kayıtları ile olmaktadır. Bunu sitenizi appspot.com alt domaini üzerinden yayınlandıktan sonra Dashboard’a girerek (kitapta dashbooard anlatılmıştır) oradan Administration->Application Settings menüsüne girdikten sonra Domain Setup isimli başık altından Add Domain demek suretiyle başlatırsınız.

Resmi:

Bu minval üzere sistem sizi yönlendirecek ve kullandığınız hosting firması üzerinde DNS ayarları üzerinden CNAME kayıtlarını ghs.google.com adresine yönlendirmeniz için talimatları açıklayacaktır.
Siz de hosting firmanızın paneline (genellikle cpanel) girerek bu yönlendirmeyi yaptıktan kısa bir süre sonra selcukoktem.com domaini üzerinden google app engine uygulamanızı kullanabileceksiniz.

2) Web servislerinden kastınız neydi? Eğer uygulamanızın JSON veya XML formatında API responseleri vermesini istiyorsanız bu mümkün. Ya da sözgelimi Youtube API’yi Google App Engine uygulamanız üzerinde mi çalıştırmak istersiniz? Bu da mümkün.

Saygılarımla

WordPress.com'da Blog Oluşturun.

Yukarı ↑