簡體   English   中英

如何使用Google App Engine Python將變量從app.yaml傳遞到main.py.

[英]How to pass a variable from app.yaml to main.py with Google App Engine Python

我試圖從app.yaml傳遞一些配置變量到我的main.py. 我無法找到從代碼中訪問app.yaml的語法。

例如,您希望用戶將其客戶端號碼放在app.yaml中,並從main.py訪問它以傳遞到main.html。 雖然在main.py中創建一個變量來傳遞它很容易,但它似乎更適合放入app.yaml。

例:

的app.yaml

    application: xyz
    version: 1
    runtime: python27
    ...
    clientID: (ID here)

main.py

    myID = appYAML.clientID
    ...
    values = {'xyz': blah.blah, 'myID': myID }

main.html中

    ...
    <script>
      ...
      {% ifequal myID %}
        my_client = {{myID}}
      ...
    </script>

隨着1.6.5版本的發布,App Engine支持這個[1]:

- In your app.yaml file, you can include an env_variables stanza that will set
  the given environment variables in your application's runtime.

有關如何使用此信息的信息,請訪問: https//cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Defining_environment_variables

這不受支持,您應該將特定於應用程序的設置放入您自己的YAML文件中。

您可以在app.yaml中定義變量,使其可用於程序的os.environ字典:

env_variables:
  variable_name: '<YOUR VALUE>'

當您需要在main.py中使用此變量時,可以通過以下方式調用它:

import os
CUSTOM_SETTINGS = os.environ['variable_name']

文檔: https//developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Defining_environment_variables

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM