Полезные ссылки
- API Flask
- Flask Snippets
- Python flask.make_response Examples
- ВикиУчебник Flask
- Form Validation >with WTForms
- Flask Web Forms
- WTF-Forms (pdf)
- Flask. Наполняем «флягу» функционалом
- Message Flashing
- Flask-Bootstrap
- Уроки по Bootstrap
- Запуск Flask приложения c uWSGI, virtualenv и nginx
- Python flask фреймворк - правильная структура приложения
- Setting WTForms Selection Fields Dynamically
- Using the markdown language
- Uploading Files
- Building an Administrative Dashboard
- https://toster.ru/q/376717
- https://maxua.com.ua/blog/php-skript/jquery-job/reload-div.html
Учебный проект Flask приложение: https://github.com/kaefik/py-ui-cfg-logzvonkov
"Рыба" (основа) структуры web- приложения используя фреймворк Flask
Flask-Script
Добавляет поддержку обслуживающих проект скриптов: запуск dev-сервера, миграции баз данных, cron-задачи и тому подобное. Следуя рекомендациям, я создаю для каждого проекта файл manage.py, где добавляются все необходимые для обслуживания команды. По-умолчанию доступна команда runserver. Запуск команд осуществляется следующим образом:
python manage.py command <action>
python manage.py runserver
python manage.py db migate
Добавить команду можно, например, реализовав потомок класса Command, входящего в пакет, и зарегистрировав ее в менеджере. Команда может содержать действия(подкоманды), ей могут передаваться параметры командной строки.
исходник: manage.py
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand
from app import app, db
from models import *
migrate = Migrate(app, db)
# Инициализируем менеджер
manager = Manager(app)
# Регистрируем команду, реализованную в виде потомка класса Command
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
Flask-Mail
Настройка приложения для отправки почты через gmail:
app.config["FLASKY_MAIL_SUBJECT_PREFIX"] = "[Flasky]"
app.config["FLASKY_MAIL_SENDER"] = "Username <xx@gmail.com>"
app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'xx@gmail.com'
app.config['MAIL_PASSWORD'] = 'xx;'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
- Мега-Учебник Flask, Часть 11: Поддержка e-mail
- https://stackoverflow.com/questions/34877189/python-flask-mail-is-not-sending-local-image-as-mail-body - вложение в HTML body картинок
- https://pythonhosted.org/Flask-Mail/ - описание как вложить в письмо файл
Пример:
- загрузка файла на сторону сервера
app.config['UPLOAD_DIR'] = config.UPLOAD_DIR
@app.route('/uploads', methods='POST')
def upload_file():
file = request.files['file']
filename = secure_filename(file.filename)
file.save(os.path(app.config['UPLOAD_DIR'],filename))