Flask

Flask-Mail je knihovna pro Flask, sloužící k odesílaní mailů.

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

app.config['DEBUG'] = True
app.config['TESTING'] = False
app.config['MAIL_SERVER'] = 'smtp.yyy.yy'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USE_SSL'] = False
app.config['MAIL_DEBUG'] = True
app.config['MAIL_USERNAME'] = 'testmailbox@yyy.yy'
app.config['MAIL_PASSWORD'] = 'heslo'
app.config['MAIL_DEFAULT_SENDER'] = 'testmailbox@yyy.yy'
app.config['MAIL_MAX_EMAILS'] = None
#app.config['MAIL_SUPRESS_SEND'] = False
app.config['MAIL_ASCII_ATTACHMENTS'] = False

mail = Mail(app)

@app.route('/')
def index():
    msg = Message('Hey There', recipients=['testmailbox2@yyy.yy'])
    msg.html = '<b>Test email sending</b>'
    mail.send(msg)
    return('Message has been sent!')

if __name__ == "__main__":
        app.run()

Načtení souboru z proměnnými:

from flask import Flask

app = Flask(__name__)
app.config.from_envvar('APP_SETTINGS')

@app.route('/')
def index():
    return '<h1>' + app.config['STRIPE_API'] + '</h1>'

if __name__ == '__main__':
    app.run()

config.py

# export APP_SETTINGS=config.cfg
DEBUG = True

Ze systému pak získat proměnnou pomocí"

export STRIPE_API_KEY-12345
from flask import Flask
from os import environ

app = Flask(__name__)
app.config['STRIPE_API'] = environ.get('STRIPE_API_KEY')

@app.route('/')
def index():
    return '<h1>' + app.config['STRIPE_API'] + '</h1>'

if __name__ == '__main__':
    app.run()

Nutno mit python > 3.5 Pro vienv, se nemusi nic instalovat, vystačíme s co je

Vytvoření Virtualního Enviromentu:

python3 -m venv project_env

Aktivace virtualniho enviromentu, cimz se dostaneme do VENV:

source project_env/bin/activate

Jak zjistíme, jestli jsme skutečně ve virtuálním enviromentu? dáme which python: tam to je vidět:

python3 -m venv 00001_env
source 00001_env/bin/activate
(00001_env) zsobotka@e5470:/data/git/FLASK/flask/00001_enviroment_variable$ which python
/data/git/FLASK/flask/00001_enviroment_variable/00001_env/bin/python
(00001_env)