2009-01-25 20 views
8

Google App Engine ve Python ile oynuyorum ve statik dizinin dosyalarını listelemiyorum. Şu anda kullandığım kod aşağıdadır. Benim makinede lokal olarak bu kodu çalıştırdığınızdaDosyaları statik bir dizinde nasıl listeleyebilirim?

app.yaml

- url: /data 
    static_dir: data 

Python kod dosyalarını

myFiles = [] 
for root, dirs, files in os.walk(os.path.join(os.path.dirname(__file__), 'data/')): 
    for name in files: 
     full_name = os.path.join(root, name) 
     myFiles.append('%s;%s\n' % (name, datetime.fromtimestamp(os.stat(full_name).st_mtime))) 

listelemek için, her şey yolunda. Python betiğimi dizinin köküne yerleştirdim ve dosyaları veri dizininin altında gezdiriyor. Ancak, aynı kodu GAE'de yüklediğimde ve çalıştırdığımda, çalışmaz. Uygulamamın dizin yapısının, Google App Engine'de tam olarak kopyalanmadığı görülüyor. Statik dosyalar nerede?

Teşekkürler! olduklarını düşünüyorsun nerede Değiller

cevap

7

https://developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Static_file_handlers

, GAE'nin bir CDN eşdeğerdir GoogleFS statik içerik koyar. Fikir, statik içeriğin doğrudan kullanıcılarınıza sunulması ve işlem yapabileceğiniz bir dosya deposu olarak hareket etmemesidir. Ayrıca, GAE'nin 1K dosya limiti vardır ve eğer statik dosya deponuzu değiştirebilseydiniz, bu kuralı korumak zor olurdu.

+0

Link dead ...... – Jonny

2
Eğer statik dosyalara göz izin

Here'sa projesi: http://appengine-cookbook.appspot.com/ (burada bazen önce bu proje hakkında bulundu)

+0

http://code.google.com/p/appfilesbrowser/issues/detail?id=2 + Artık kodunuz varsa, uygulamanızla ilgili olan şey 1K dosyasına kesilir. sınırı. – David

0

: Burada http://code.google.com/p/appfilesbrowser/

Ve AppEngine'de için tarifler listesini görmek gerekir Statik içerik olarak yüklenen dosyalara programlı olarak erişemezsiniz; bunlar, uygulamanızla birlikte sunucuda yüklü değil, doğrudan sunulabilir. Gerçekten bunlara erişmeniz gerekiyorsa, statik dosya işleyicisini kaldırabilir ve kendinize sunabilirsiniz.

İlgili konular