Es mi primer sitio web en Azure con Python. Desarrollé antes con .NET. Lo siento si mi pregunta es básica.
Implementé mi sitio web de Django en Azure. Funciona bien con la configuración de DB en settings.py.
El siguiente paso, pensé, es transferir la configuración de la base de datos a la Configuración de la aplicación de Azure - Cadenas de conexión, lo que hice.
Soy consciente de que necesito el prefijo MYSQLCONNSTR_connectionString1.
¿Cómo puedo ahora vincular mi Django/Python WebApp con la cadena de conexión en la configuración de la aplicación de Azure?
Estaría muy agradecido por la ayuda.
Simplemente use import os para importar el paquete os en su código Django como settings.py , luego obtenga estas variables de entorno que se definen en la App settings o las Connection strings de la pestaña Application settings en Azure Portal a través del código os.getenv("<environ-var-name>") .
Para la variable de entorno definida en la App settings , solo pasa el nombre de la variable definido como VARNAME como argumento para os.getenv() .
Para obtener el valor de la variable de entorno definida en Connection strings , debe agregar el prefijo o surfijo diferente para el nombre de la variable como VARNAME , como se muestra a continuación.
Para SQL Database , el uso del prefijo SQLAZURECONNSTR con el símbolo de infijo _ para VARNAME es SQLAZURECONNSTR_VARNAME .
Para SQL Server , el uso del prefijo SQLCONNSTR con el símbolo de infijo _ para VARNAME es SQLCONNSTR_VARNAME .
Para MySQL , usar el prefijo MYSQLCONNSTR con el símbolo de infijo _ para VARNAME es MYSQLCONNSTR_VARNAME .
Para Custom , el uso del sufijo MYSQLCONNSTR con el símbolo de infijo _ para VARNAME es VARNAME_CONNECTSTRING .
Espero eso ayude.
No pude conectar la base de datos a través de Variables de entorno en la configuración de la aplicación de Azure - Cadenas de conexión, aunque probé varios enfoques. Todavía estaría agradecido por la ayuda de cómo se puede hacer.
Lo que funcionó en su lugar, leyendo https://godjango.com/blog/working-with-environment-variables-in-python/ :
Ingrese en Configuración de la aplicación de Azure - Configuración de la aplicación los valores de conexión de base de datos única:
KEY VALUE DATABASE_NAME: <database> DATABASE_USER: <dbuser> DATABASE_PASSWORD: <dbpassword> DATABASE_HOST: <host> DATABASE_PORT: <port>Y en ajustes.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': os.environ.get('DATABASE_NAME', ''), 'USER': os.environ.get('DATABASE_USER', ''), 'PASSWORD': os.environ.get('DATABASE_PASSWORD', ''), 'HOST': os.environ.get('DATABASE_HOST', ''), 'PORT': os.environ.get('DATABASE_PORT', ''), } }