1. 以前のプログラムのソースをダウンロードして、 app.xml を変更して deployする
503 python -V // まず Mac にインストールされている python のバージョンを確認
504 pwd
505 curl https://sdk.cloud.google.com | bash // google cloud SDK のインストール
506 source ./.bash_profile
510 cd google-cloud-sdk/ // 以前作成したアプリのダウンロードの準備
514 mkdir google-cloud
515 cd google-cloud
516 appcfg.py download_app -A snsimglink-hrd -V 1 ./ -oauth2 // appcfg.py がみつからない
517 python appcfg.py download_app -A snsimglink-hrd -V 1 ./ -oauth2 // 無駄な試み
519 cd ..
520 cd google-cloud-sdk/
523 find . -name appcfg.py -print // みあたらない
527 pip install google-cloud-storage // google-cloud-storage をいれればいいのか?
528 sudo easy_install pip // pip がなかったので、まず pip を install
529 pip install --upgrade google-cloud-storage
// https://cloud.google.com/appengine/docs/standard/python/download#appengine_sdk
// appcfg.py を入手するには
// 以前の GoogleAppEngineLauncher-1.9.68.dmg
// をインストールする必要があった
537 cd google-cloud
// google cloud のコンソールで application の名前とバージョンを確認
540 appcfg.py -A museum-in-cloud-hrd -V 1 download_app ./museum-in-cloud
543 cd snsimglink/
547 dev_appserver.py . // 試しにローカルで動かそうとするも、いろいろエラーで動かない
548 gcloud app deploy
549 cloudg auth login
550 cloudg app deploy
551 cloudg config set project museum-in-cloud-hrd
553 gcl app deoudloyp // app.xml のappclitaion, version をコメントアウト
ERROR:
(gcloud.app.deploy) The [application] field is specified in file ..
(gcloud.app.deploy) The [version] field is specified in file ..
...
This field is not used by gcloud and must be removed.
Versions are generated automatically by default but can also be manually specified
by setting the `--version` flag on individual command executions.
555 gcloud app deploy -v 2 // バージョン指定しないと deploy するたびに新しいバージョンになってしまう
2. webapp を webapp2 に、django を jinja2 に変更する
Python2.7 でも django はサポートされているようなので、引き続き使おうとしたが、
サンプルプログラムを動かすために SQL Cloud などの設定も必要。
gusestbook のサンプルプログラムが更新されていて、ここで jinja2 が使われていたので、
jinja2 を利用することにした。
app.xml
---
#application: museum-in-cloud-hrd
#version: 1
#runtime: python
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /blog
# script: hw_blog.py
script: hw_blog.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
#- name: django
# version: "1.2"
hw.py
---
#from google.appengine.ext import webapp
import webapp2
import jinja2
JINJA_ENVIRONMENT = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)+"/templates4j"), //この環境固有
extensions=['jinja2.ext.autoescape'],
autoescape=True)
#from google.appengine.ext import vendor
#vendor.add('lib')
3. jinja2 用に templateファルを変更する
ifequal endifequal を if endif 、
{% value %} を {{ value }} に変更
変数の中に html のタグなどを記述していた場合は、 {{ value | safe }} とする。
4. 準備中
準備中
|
console |
参考