/ / Jak przekazać zmienną z app.yaml do main.py z Google App Engine Python - python, google-app-engine

Jak przekazać zmienną z app.yaml do main.py z Google App Engine Python - python, google-app-engine

Próbuję przekazać niektóre zmienne konfiguracyjne do mojego main.py z app.yaml. Nie udało mi się znaleźć składni dostępu do app.yaml z kodu.

Na przykład chcesz, aby użytkownik umieścił ichnumer klienta w app.yaml i dostęp do niego z main.py, aby przejść do main.html. Chociaż łatwo byłoby stworzyć zmienną w main.py, aby ją przekazać, wydaje się, że jest to coś, co lepiej byłoby umieścić w app.yaml.

Przykład:

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>

Odpowiedzi:

9 dla odpowiedzi № 1

W wersji 1.6.5 App Engine obsługuje to [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.

Informacje o tym, jak z niego korzystać, są dostępne pod adresem: https://cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Defining_environment_variables.


4 dla odpowiedzi nr 2

To nie jest obsługiwane i powinieneś umieścić swoje ustawienia specyficzne dla aplikacji w swoim własnym pliku YAML.


2 dla odpowiedzi nr 3

Możesz zdefiniować zmienne w app.yaml aby udostępnić je programowi os.environ słownik:

env_variables:
variable_name: "<YOUR VALUE>"

Kiedy musisz użyć tej zmiennej w main.py, możesz zadzwonić w ten sposób:

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

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