这是我的烧瓶应用程序的config.py
import os
class DefaultConfig(object):
PROJECT = 'SEARCH & FILTER '
PROJECT_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__$
DEBUG = True
TESTING = False
SECRET_KEY = 'secret key'
SERVER_NAME = 'https://s.herokuapp.com/'
PREFERRED_URL_SCHEME = 'https'
SQLALCHEMY_DATABASE_URI = os.environ['DATABASE_URL']
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_ECHO = True
NGROK_DOMAIN = 'https://s.herokuapp.com/'
SHOPIFY_API_KEY = '*********************'
SHOPIFY_SHARED_SECRET = '************************'
在我运行应用程序并尝试打印应用程序的配置详细信息时
print current_app.config.get('SHOPIFY_API_KEY')
返回NONE 所以,我尝试打印
print current_app.config
已打印以下详细信息
<Config {'SESSION_REFRESH_EACH_REQUEST': True, 'USE_X_SENDFILE': False, 'PREFERRED_URL_SCHEME': 'http', 'ENV': 'production', 'DEBUG': False, 'MAX_CONTENT_LENGTH': None, 'TESTING': False, 'SEND_FILE_MAX_AGE_DEFAULT': datetime.timedelta(0, 43200), 'TRAP_BAD_REQUEST_ERRORS': None, 'SESSION_COOKIE_NAME': 'session', 'SECRET_KEY': None, 'APPLICATION_ROOT': '/', 'EXPLAIN_TEMPLATE_LOADING': False, 'SESSION_COOKIE_SECURE': False, 'TRAP_HTTP_EXCEPTIONS': False, 'JSONIFY_MIMETYPE': 'application/json', 'PROPAGATE_EXCEPTIONS': None, 'JSON_SORT_KEYS': True, 'MAX_COOKIE_SIZE': 4093, 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_SAMESITE': None, 'PRESERVE_CONTEXT_ON_EXCEPTION': None, 'JSONIFY_PRETTYPRINT_REGULAR': False, 'SESSION_COOKIE_HTTPONLY': True, 'JSON_AS_ASCII': True, 'PERMANENT_SESSION_LIFETIME': datetime.timedelta(31), 'SERVER_NAME': None, 'TEMPLATES_AUTO_RELOAD': None, 'SESSION_COOKIE_PATH': None}>
为什么我的给定凭据未设置到我的应用程序?
谢谢!
答案 0 :(得分:1)
如果要使用from_pyfile
加载配置,请使用以下两个文件:
app.py
from flask import Flask
app = Flask(__name__)
app.config.from_pyfile('app_config.py')
print(app.config['FOO'])
app_config.py
FOO = 'bar'
如果要在配置中使用类,请改用from_object
加载配置:
app.py
from flask import Flask
app = Flask(__name__)
app.config.from_object('app_config.DefaultConfig')
print(app.config['FOO'])
app_config.py
class DefaultConfig:
FOO = 'bar'
答案 1 :(得分:0)
如果您的项目布局如下:
helloshopify/
- __init__.py
- config_app.py
然后将config_app.py
加载到__init__.py
中,然后只需传递绝对路径即可:
app.config.from_pyfile('config_app.py')
答案 2 :(得分:0)
您应该导入它并使用from_object。像这样:
from .config import DefaultConfig
#...
app = Flask(__name__)
app.config.from_object(DefaultConfig)