这是我在Python上使用Python的第一个网站。我之前用.NET开发过。对不起,如果我的问题是基本问题。
我在Azure上部署了我的Django网站。它适用于settings.py中的数据库设置。
我想,下一步是将数据库设置传输到Azure的应用程序设置 - 连接字符串,我做了什么。
我知道我需要前缀MYSQLCONNSTR_connectionString1。
我现在如何将我的Django / Python WebApp与Azure应用程序设置中的连接字符串链接起来?
我非常感谢您的帮助。
答案 0 :(得分:0)
只需使用import os
在您的Django代码os
中导入settings.py
包,然后获取这些在App settings
或Connection strings
中定义的环境变量Azure门户上的标签Application settings
通过代码os.getenv("<environ-var-name>")
。
对于App settings
中定义的环境变量,您只需将VARNAME
定义的变量名称作为os.getenv()
的参数传递。
要获取Connection strings
中定义的环境变量的值,您需要为VARNAME
等变量名称添加不同的前缀或符号,如下所示。
对于SQL Database
,SQLAZURECONNSTR
使用带有中缀符号_
的前缀VARNAME
为SQLAZURECONNSTR_VARNAME
。
对于SQL Server
,SQLCONNSTR
使用带有中缀符号_
的前缀VARNAME
为SQLCONNSTR_VARNAME
。
对于MySQL
,MYSQLCONNSTR
使用带有中缀符号_
的前缀VARNAME
为MYSQLCONNSTR_VARNAME
。
对于Custom
,MYSQLCONNSTR
使用带有中缀符号_
的版本VARNAME
为VARNAME_CONNECTSTRING
。
希望它有所帮助。
答案 1 :(得分:0)
我无法通过Azure的应用程序设置 - 连接字符串中的环境变量连接数据库,尽管我尝试了各种方法。仍然会感谢他们如何做到这一点。
取而代之的是阅读https://godjango.com/blog/working-with-environment-variables-in-python/:
输入Azure应用程序设置 - 应用程序设置单个数据库连接值:
KEY VALUE
DATABASE_NAME: <database>
DATABASE_USER: <dbuser>
DATABASE_PASSWORD: <dbpassword>
DATABASE_HOST: <host>
DATABASE_PORT: <port>
并在settings.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', ''),
}
}