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 № 1W 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