Лучшая практика для передачи SECRET_KEY из config.py в route.py в Flask структурированном, - PullRequest
0 голосов
/ 28 апреля 2020

Что является лучшим методом для передачи конфигурации SECRET KEY значение в __init__.py в route.py?

Flask Приложение структурировано, как показано на рисунке ниже, оно может проходить и работать без любая ошибка и маршрут работают, но он загрузил приложение Flask объект в api\route.py. Можно просто передать значение в config.py

enter image description here

Файлы настроены так:

# ===  init file  ===

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config.from_pyfile('config.py')
db = SQLAlchemy(app)

__ init __. Py загружает конфигурацию из:

# ===  config.py  ====

SQLALCHEMY_DATABASE_URI = "sqlite:///test.db"
SQLALCHEMY_TRACK_MODIFICATIONS = False
SECRET_KEY = 'secretkey'

Текущая конфигурация загружает приложение Flask в route.py для использования в функции декоратора

# ===  API route.py  ===

from blue import app
from flask import Blueprint, jsonify, request, make_response, render_template
import jwt
from datetime import datetime, timedelta

mod = Blueprint('api',__name__) 

# config decorator
def token_required(f):
    @wraps(f)
    def decorated(*args,**kwargs):
        token = request.args.get('token')  
        if not token:
            jsonify({"message":"No token included"}), 403
        try:
            data = jwt.decode(token,app.config['SECRET_KEY'])
        except:
            return jsonify({"message":"token is not valid!"}), 403

        return f(*args,**kwargs)

    return decorated

как пройти только config['SECRET_KEY'].

заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...