формочка для печенья
Шаблон колбы для формочки для печенья. (Поддерживает Python ≥ 3.8)
В этом репозитории приведен пример проекта, созданного на основе самой последней версии шаблона.
Используйте его сейчас
Docker (это предпочтительный метод создания нового проекта)
$ git clone https://github.com/cookiecutter-flask/cookiecutter-flask.git
$ cd cookiecutter-flask
# Basic usage (You will be prompted to provide basic information about your application)
$ ./cookiecutter-docker.sh
full_name [Steven Loria]:
...
# The repository for your flask app will be created in a directory with the name
# chosen in "package import name" question (default ./my_flask_app/)
# Additional arguments are available
$ ./cookiecutter-docker.sh --help
Usage: ./cookiecutter-docker.sh [OPTIONS]
Options:
-b, --build Build Docker image before running cookiecutter
-h, --help Show this message and exit
Стандартный
При использовании стандартных инструкций требуется Python ≥ 3.8. Рекомендуется виртуальная среда (например, virtualenv
).
pip3 install cookiecutter
cookiecutter https://github.com/cookiecutter-flask/cookiecutter-flask.git
Вас спросят о вашей основной информации (имя, название проекта, название приложения и т. д.). Эта информация будет использоваться в вашем новом проекте.
Настроить и запустить
После того как вы сгенерировали код проекта, необходимо выполнить еще несколько шагов, прежде чем ваше новое приложение запустится. README созданного проекта показывает, как настроить и запустить приложение. (Вы можете увидеть README шаблона здесь).
Функции
- Bootstrap 5 и Font Awesome 6 со стартовыми шаблонами
- Flask-SQLAlchemy с базовой моделью пользователя
- Простая миграция баз данных с помощью Flask-Migrate
- Конфигурация в переменных среды согласно The Twelve-Factor App
- Flask-WTForms с формами входа и регистрации
- Flask-Login для аутентификации
- Flask-Bcrypt для хеширования паролей
- Procfile для развертывания на PaaS (например, Heroku)
- pytest и Factory-Boy для тестирования (примеры тестов включены)
- Интерфейс командной строки Click в Flask, настроенный с помощью простых команд
- Минификация CSS и JS с использованием веб-пакета
- Поддержка npm для управления пакетами внешнего интерфейса
- Кэширование с использованием Flask-Cache
- Полезная панель инструментов отладки
- Использует лучшие практики: шаблоны Blueprints и Application Factory.
Скриншоты
Вдохновение
- Структурирование приложений Flask
- Flask-Foundation от @JackStouffer
- flask-bones от @cburmeister
- flask-basic-регистрация от @mjhea0
- Официальная документация Flask
Лицензия
Лицензия MIT.
Журнал изменений
Неизданный
- Обновите все зависимости узлов до последних версий.
- Переключитесь на использование действий Github для шаблона CI
- Удалить поддержку Node 10 в качестве опции Cookiecutter.
- Переработан образ Docker для более эффективного использования многоэтапных сборок.
- Проекты, созданные с помощью шаблона, используют действия Github для CI.
- Обновите Webpack до версии 5.x
- Прекращена поддержка Python 3.6, 3.7 и 3.8.
- Добавлена поддержка Python 3.9, 3.10, 3.11 и 3.12.
- Добавлены узлы 18 и 20 LTS.
- Удалены узлы 12, 14 и 16 LTS.
18.0.0 (09.09.2018)
- Используйте CalVer (
YY.MINOR.MICRO
). - Обновите Bootstrap 4. Спасибо @adawalli и @Hiyorim.
- Используйте переменные среды для конфигурации.
- Добавьте поддержку Pipenv.
- Обновите зависимости Python и Node.
0.13.0 (25.06.2017)
- Используйте веб-пакет для создания интерфейсных ресурсов. Внешние зависимости устанавливаются с помощью NPM. Удалите Flask-Assets и Bower.json. Спасибо @wroberts.
0.12.0 (06.11.2016)
- Обновите зависимости Python.
0.11.1 (06.11.2016)
- Правильно передайте первый параметр в
Flask
в соответствии с документацией 0.11. Спасибо @alavni. - Удалите инструменты настройки и колесо как зависимости, чтобы исправить развертывание на Heroku. Спасибо @Cabalist.
- Сделайте User.password двоичным полем для совместимости с новыми версиями bcrypt. Еще раз спасибо @Cabalist.
0.11.0 (10.09.2016)
- Используйте переменную системной среды FLASK_DEBUG вместо MYFLASKAPP_ENV для управления различными конфигурациями для сред разработки и производственной среды.
0.10.1 (28.08.2016)
- Исправлен
invoke test
команды.
0.10.0 (28.08.2016)
- Обновление до Flask 0.11.
- Используйте Click вместо Flask-Script для команд CLI.
0.9.0 (06.03.2016)
- Обновите устаревшие требования.
- Добавьте защиту CSRF.
- Запустите команду
lint
в сборках Travis. - Протестируйте Python 3.5.
0.8.0 (09.11.2015)
- Обновите устаревшие требования.
- Добавьте команды управления
lint
, clean
и urls
. - Добавьте сортировку.
Спасибо @andreoliw за этот вклад.
0.7.0 (14.04.2015)
- Обновите стиль импорта расширения на flask_* согласно mitsuhiko/flask#1135.
- Обновите устаревшие требования (Werkzeug, Flask-WTF, WTForms, Flask-Bcrypt, Flask-DebugToolbar, Flask-Migrate, Bootstrap, jQuery). Спасибо @bsmithgall за уведомление о критическом патче для Flask-Migrate.
0.6.0 (01.12.2014)
- Проверьте формочку на Трэвисе. Спасибо @joshfriend.
- Обновить устаревшие требования (Flask-WTF, Flask-Migrate, Flask-DebugToolbar)
0.5.0 (29.09.2014)
- Исправьте .travis.yml.
- Обновить устаревшие требования (Flask-WTF, WTForms, Flask-SQLAlchemy, jquery, Bootstrap)
0.4.3 (27.07.2014)
- Добавьте класс
BaseFactory
. - Добавьте модуль compat.py.
- Тесты проходят на Python 3.
0.4.2 (27.07.2014)
- Обновите фабрики до синтаксиса Factory-Boy >= 2.4.0.
- Обновите устаревшие требования.
0.4.1 (07.06.2014)
- Обновить устаревшие требования (Werkzeug 0.9.6, WTForms 2.0)
- Исправьте несовпадающий тег div в home.html (спасибо @level09).
0.4.0 (19.04.2014)
- Добавьте ReferenceCol для менее подробных столбцов внешнего ключа.
- Добавьте миксин SurrogatePK для добавления целочисленного первичного ключа в модель.
- Добавьте класс базовой модели с удобными методами CRUD.
- Исправлена настройка сложности шифрования BCrypt. Тесты проходят намного быстрее.
- Добавьте ролевую модель, чтобы показать использование ReferenceCol.
- Переключитесь на pytest.
- Обновите все устаревшие требования.
- Еще примеры испытаний.
- Удалите «год» из cookiecutter.json (при необходимости просто измените ЛИЦЕНЗИЮ).
0.3.2 (26.02.2014)
- Исправьте статические ресурсы.
0.3.1 (20.02.2014)
- Обновите год по умолчанию в cookiecutter.json. Спасибо @Omeryl
- Корректное тестирование редиректов в веб-тестах. Спасибо @Widdershin
- Исправлено действие POST в форме навигации. Спасибо @Widdershin.
- Обновите Bootstrap (3.1.1) и jQuery (2.1.0).
- Дополнительная поддержка беседки.
- Минимизированные ресурсы не используются в среде разработки.
0.3.0 (08.12.2013)
- Более модульная организация: каждый проект содержит собственное представление, модели и формы в каталоге. Для шаблонов и статических ресурсов по-прежнему существует единый каталог.
- Используйте Flask-Bcrypt для хеширования паролей.
- Flask-Login для аутентификации.
- Простая тестовая установка. Просто создайте подкласс
DbTestCase
. - Поддержка Flask-тестирования.
- Используйте Factory-Boy для тестовых заводов.
- Используйте WebTest для функционального тестирования.
- Добавьте Flask-Debugtoolbar.
- Миграции с использованием Flask-Migrate.
- Кэширование с помощью Flask-Cache.
- Добавить шаблоны страниц ошибок (404, 401, 500)
- Добавьте Font Awesome 4.0.3 для иконок.
0.2.0 (21.09.2013)
- Добавить скрипт Manage.py
- Добавьте Flask-Assets для объединения CSS и JS+минификации.
- Используйте разные конфигурации для сред разработки и производственной среды, управляемые системной переменной среды MYFLASKAPP_ENV.
- Используйте чертежи и шаблон фабрики приложений.
simple
ветка их не использует.
0.1.0 (20.08.2013)
- Первая итерация
- Бутстрап 3 финал
- Модель рабочего пользователя и регистрация