Python / Django数据库用户名和密码?

时间:2016-07-29 18:03:44

标签: python django postgresql

我正在学习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',
    }
}

具体是USERPASSWORDHOSTPORT?我们可以在django settings.py中创建USERPASSWORD值吗?或者这是数据库的实际USER/PASSWORD?此外,对于localhost,HOST目前是127.0.0.1,但在部署到生产时,我是否将其更改为域名(http://www.example.com)? PORT,是否有必要?

3 个答案:

答案 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,是否有必要?

USERPASSWORD是您在数据库中配置的内容,然后在文件中输入。

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或其他版本)。您可以执行以下操作:

  1. 登录到Heroku
  2. 转到资源
  3. 搜索Postgres(免费版/爱好)
  4. 然后单击新生成的数据库链接
  5. 转到设置在“管理员”下,转到“凭据”

然后,您可以在Django生产设置中添加这些变量,最好对其保密并称为环境变量(),也可以在Heroku CLI中定义(使用Windows中的SET命令)。 More explanation here.