我正在学习python,我想了解数据库部分以及设置postgresql数据库。
https://docs.djangoproject.com/en/1.9/ref/settings/#databases
是否需要所有值?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
具体是USER
,PASSWORD
,HOST
,PORT
?我们可以在django settings.py中创建USER
和PASSWORD
值吗?或者这是数据库的实际USER/PASSWORD
?此外,对于localhost,HOST目前是127.0.0.1
,但在部署到生产时,我是否将其更改为域名(http://www.example.com)? PORT
,是否有必要?
答案 0 :(得分:5)
是的! 所有这些信息都是必要的 ,你无法连接到数据库,除非这些值是 指定。
是的! user
和 password
是PostgreSQL数据库的实际凭据。
关于部署 ,您应该设置生产数据库所在的正确IP /主机。可能是example.com或xxx.xxx.xxx.xxx
我认为您 concerned about security
(在源代码中显示您的数据库凭据)如果是这种情况您可以将您的凭据放入安全配置文件中 .env 并使用 this 库来处理您的配置文件。
答案 1 :(得分:1)
具体是USER,PASSWORD,HOST,PORT?是USER和PASSWORD值 我们可以在django settings.py中创建?或者这是实际的 数据库的USER / PASSWORD?此外,HOST目前为127.0.0.1 localhost,但在部署到生产时,我是否将其更改为 域名(http://www.example.com)?还有PORT,是否有必要?
USER
和PASSWORD
是您在数据库中配置的内容,然后在文件中输入。
HOST
是服务器运行的IP地址或主机名。在制作中,您必须与您的托管服务提供商核实正确的详细信息;它很少是您的域名。
如果PORT
与默认端口(5432
)不同,则只需调整http://www.example.com
。如果不同,主人会告诉您。
最后,请记住example.com
不是域名,这是完整的网址。域名为www
,主机为www.example.com
,完全限定的主机名为Cust%:=Sum(table[cust])/CALCULATE(sum(table[cust]),ALL(table))
。
答案 2 :(得分:0)
是的。 See here(适用于Django 2.1或其他版本)。您可以执行以下操作:
然后,您可以在Django生产设置中添加这些变量,最好对其保密并称为环境变量(),也可以在Heroku CLI中定义(使用Windows中的SET命令)。 More explanation here.