在将Flask应用程序连接到数据库的过程中如何获取密钥

时间:2019-10-07 00:15:59

标签: python postgresql flask flask-sqlalchemy

我正在学习有关使用json在Flask和PostgreSQL之间建立数据库连接的教程,并且有一个秘密密钥,在config.py中提到

我还阅读了其他答案,并了解Flask使用urandom生成随机密钥。但是我还不清楚在什么时候必须运行此代码来生成密钥。我确实知道该代码必须在命令提示符下运行。

python
    >>> import os
    >>> os.urandom(24)

我的config.py代码

import os
basedir = os.path.abspath(os.path.dirname(__file__))

class Config(object):
    DEBUG = False
    TESTING = False
    CSRF_ENABLED = True
    SECRET_KEY = 'this-really-needs-to-be-changed'
    SQLALCHEMY_DATABASE_URI = os.environ['postgresql://postgresql:silverTip@localhost/DatabaseFirst']

class ProductionConfig(Config):
    DEBUG = False

class StagingConfig(Config):
    DEVELOPMENT = True
    DEBUG = True

class DevelopmentConfig(Config):
    DEVELOPMENT = True
    DEBUG = True

class TestingConfig(Config):
    TESTING = True

1 个答案:

答案 0 :(得分:1)

在python shell中运行该代码:

>>> import os
>>> os.urandom(24)
b'\x1d\xc6\x0f[\xed\x18\xd6:5\xe0\x0f\rG\xaf\xb4\xf4HT\xef\xc1\xf1\xa89f'

然后将结果复制/粘贴到您的配置文件中:

SECRET_KEY = '\x1d\xc6\x0f[\xed\x18\xd6:5\xe0\x0f\rG\xaf\xb4\xf4HT\xef\xc1\xf1\xa89f'

请记住要删除开头的b,否则您将SECRET_KEY保存为字节对象而不是字符串。