Modüllerin hepsi yan yana olabilir. Her biri için <module>.yaml
modülü dir içinde olabilir.
app.yaml
dosyasıyla ilgili not yanıltıcıdır, yalnızca tek modül uygulamaları için geçerlidir (çok sayıda modül için çok sayıda belge güncelleştirilmemiştir).
default
modülünün yapılandırma dosyasının, app.yaml
(veya onun adı default
) olarak adlandırılması bile gerekmez. Uygulama düzeyinde yapılandırma dosyalarını (cron.yaml
, dispatch.yaml
, queue.yaml
ve index.yaml
) en üst düzeyde tutup, bunları gerektiğinde varsayılan (veya diğer) modüllere symlink ediyorum (bazı araçlar başka şekilde şikayet edebilir).
İşte örneğin, ben lazım yapısı uygulamalarıma biri için (main
dir default
modülünü içerir), 's: İlgili araçları çağrılırken Sadece dikkat etmek gerekir
cron.yaml
dispatch.yaml
queue.yaml
index.yaml
main/cron.yaml -> ../cron.yaml
main/index.yaml -> ../index.yaml
main/main.yaml
main/queue.yaml -> ../queue.yaml
buildin/buildin.yaml
buildin/index.yaml -> ../index.yaml
buildin/queue.yaml-> ../queue.yaml
.
appcfg.py update main/main.yaml buildin/buildin.yaml
appcfg.py update_dispatch .
appcfg.py update_indexes -A <app-name> main
appcfg.py update_cron -A <app-name> .
appcfg.py update_queues -A <app-name> .
devserver çalıştırmak için: Bu (ı pycharm içindeki gelişim sunucusu koşuyorum) bir kısmı da pycharm proje yapılandırma yansır uygulamanın dir, gelen yürütülen bu uygulamaya ilişkin benim hile-levha, olduğu :
dev_appserver.py --host 0.0.0.0 --log_level=debug dispatch.yaml main/main.yaml buildin/buildin.yaml
Güncelleme: istendiği gibi, benim yapılandırma dosyalarının bazı ekledi.
dispatch.yaml
dosya, appspot etki ve Özel alan hem buildin
modül yönlendirme bakımı (her şey otomatik olarak varsayılan modülüne yönlendirilir):
application: <my_app>
dispatch:
- url: "buildin.my_domain.com/*"
module: buildin
- url: "buildin-dot-my_app.appspot.com/*"
module: buildin
- url: "*/buildin/*"
module: buildin
main.yaml
dosyası:
application: my_app
module: default
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /(.*\.min\.css)$
static_files: stylesheets/\1
upload: stylesheets/.*\.min\.css$
secure: always
- url: /(.*\.(ico|gif|png|jpg|svg))$
static_files: images/\1
upload: images/.*\.(ico|gif|png|jpg|svg)$
secure: always
- url: .*
script: main.app
secure: always
libraries:
- name: webapp2
version: "2.5.2"
- name: jinja2
version: "2.6"
- name: pycrypto
version: "2.6"
buildin.yaml
dosyası:
application: my_app
module: buildin
version: 1
runtime: python27
api_version: 1
threadsafe: true
instance_class: B2
handlers:
- url: /(.*\.min\.js)$
static_files: scripts/\1
upload: scripts/.*\.min\.js$
secure: always
- url: /(.*\.min\.css)$
static_files: stylesheets/\1
upload: stylesheets/.*\.min\.css$
secure: always
- url: /(.*\.(ico|gif|png|jpg|svg))$
static_files: images/\1
upload: images/.*\.(ico|gif|png|jpg|svg)$
secure: always
- url: /buildin/cron*
script: buildin.app
login: admin
- url: .*
script: buildin.app
secure: always
libraries:
- name: webapp2
version: "2.5.2"
- name: jinja2
version: "2.6"
- name: pycrypto
version: "2.6"
Açıklama için ve hile sayfası ile birlikte örnek verdiğiniz için teşekkür ederiz. Bu çok kullanışlı. –
@dan, dispatch.yaml + main/main.yaml + buildin/buildin.yaml kodunuzu yapıştırabilir misiniz? – WebQube
@Kevin Lee, hala bu hatayı almayı anlayamıyorum. google.appengine.api.yaml_errors.EventError: AppInfoExternal türünde nesne için beklenmedik özellik 'gönderme'. "./app.yaml", satır 3, sütun 3 Lütfen mümkünse bana bir çalışma kodu verin. [email protected] –