Метод колба: Что такое цикл Колба и почему его часто понимают и применяют неправильно / Skillbox Media

Содержание

Цикл Колба. Создание тренингов на основе цикла Колба.

В этой статье мы разберем цикл Колба и ее применение на практике.

Цикл Колба – это модель обучения, которая основана на принципе поэтапного формирования умственных действий обучаемого. Принципиальное отличие этой модели заключается в том, что она разработана именно для обучения взрослых людей, которые уже имеют личный опыт в изучении объектов и при этом обладают более устойчивой и выраженной мотивацией к обучению.

Автор методики

Ее автором является специалист по психологии обучения взрослых Дэвид Колб (David A. Kolb). По его мнению, процесс обучения представляет собой цикл или своеобразную спираль. Это своего рода цикл накопления личного опыта, в дальнейшем — обдумывания и размышления, и в итоге — действия. По мнению Девида Колба процесс обучения – это своеобразная спираль, главные этапы который составляют накопление личного опыта, его обдумывание, и последующее действие, которое является результатом.

Цикл Колба предполагает следующие этапы обучения:

1.Конкретный опыт (КО). Данный этап предполагает наличие у человека некоторого личного, конкретного опыта в том аспекте, который он планирует изучить.

2.Мыслительные наблюдения (МН). Данный этап предполагает обдумывание, анализ тех исходных знаний, которые есть у человека.

3.Абстрактная концептуализация (АК). В данном этапе происходит обобщение полученной информации и построение конкретной модели. Именно в этом периоде  тренинга происходит генерация новых идей, выстраивание  взаимосвязей между явлениями и добавления информации о закономерностях в изучаемой теме.

4.Активное экспериментирование (АЭ). Это завершающий этап, в ходе которого созданная модель или концепция проверяется на практике, обучаемый проверяет ее эффективность и практичность.

На основе принципов обучения Колба разработана схема наиболее эффективного проведения интерактивного обучения:
  1. Мотивация и объявление новой темы. Данный этап называется также «проблематизация»  в среде тренеров. Его цель заключается в том, что привлечь внимание обучаемых к теме, вызвать интерес, сформировать ощущение значимости данного вопроса. Также на этом этапе используются упражнения, которые могут продемонстрировать участникам недостаток знаний в данной теме и мотивировать их на приобретение новых знаний.

Данный этап занимает 10% времени.

  1. Закрепление (повторение) пройденного.Данный этап подразумевает обобщение тех знаний, методов и способов, которыми уже обладают участники. Он позволяет структурировать опыт участников и подготовить их к переходу к следующему этапу.

Данный этап занимает 20% времени.

  1. Изучение нового материала.Это основной этап, который подразумевает получение учащимися новых знаний и умений. Участники получают ответы на те вопросы, которые были озвучены в начале обучения и научаются способам их практического разрешения.
    В изучении нового материала желательно также использовать упражнения и практические занятия.

Данный этап занимает 50% времени.

  1. Оценивание.На данном этапе происходит оценка того, насколько хорошо участники усвоили новые знания, навыки. Она может происходить в виде практических, тестовых заданий, обсуждений, кейсов.

Данный этап занимает 10% времени.

  1. Подведение итогов урока (дебрифинг, рефлексия).Заключительный этап, в ходе которого тренер спрашивает, что было полезно, эффективно, собирает пожелания и побуждает к дальнейшему самостоятельному изучению материала.

Данный этап занимает 10% времени.

Кроме того,  цикл Колба лег в основу типологии участников обучения. Она отражает специфику мыслительных операций и привычные способы действия участников. 

Типы участников:

  1. Активист(Аккомодационный стиль, связка личный опыт-практика). Данный тип получает знания в первую очередь на основе своего опыт методом проб и ошибок. Они не любят теорию, предпочитая ей простые объяснения, которые они хотят сразу же испытать на практике.

Пример: такой человек, купив новый телефон, бежит домой и, не читая инструкции,  сразу включает его, начинает нажимать кнопки, пробуя, какой получится результат.

  1. Мыслитель(Дивергентный стиль, связка личный опыт-размышления). Этот тип, аналогично Активисту, также любит получать знания в простой форме, в виде непринужденного  общения, однако он не спешит применять их на практике. Он старается разобраться до конца, задавая вопросы и многократно уточняя интересующие детали.

Пример: это человек не торопится с покупкой, задает много вопросов продавцу, просит все показать, разъяснить. При необходимости звонит на горячую линию и проси еще раз все рассказать.

  1. Теоретик(Ассимилирующий стиль, связка теория-размышления). Этот человек любит разбираться в теории самостоятельно, ценить основательность и структурность. Углубляясь в теорию, он иногда даже не доходит до практики.

Пример: этот человек уже прочитал все о телефоне на сайтах и форумах, изучив все преимущества и ограничения каждой модели, и если, он все-таки сделал выбор, они приходит в магазин полностью подготовленным. Сделав покупку, сначала читает инструкцию, потом начинает использовать.

  1. Прагматик(Конвергентный стиль, связка теория-практика). Участник данного типа любит получать теоретические знания, однако для него принципиально важна их практичность. Он изучает лишь тот объем информации, который необходим для применения на практике.

Пример: прочитал необходимых минимум в интернете, задал несколько вопросов продавцу, инструкцию читает, только если что-то непонятно.

Резюмируя, можно отметить, что цикл Колба является удобной и практичной моделью для выстраивания тренингов и интерактивных занятий. Она проста в понимании и адаптирована именно для взрослых участников, которые имеют свою специфику восприятия информации.

 

 

 

Модель Колба — стили обучения и учебный цикл

  • Eye 2 259
  • Chatbubbles 0
  • CategoriesEducation

Дэвид Колб опубликовал свою модель стилей обучения в 1984 году. Именно на ее основе была разработана его система учебных циклов.

Теория эмпирического обучения Колба состоит из двух блоков: четырехэтапного цикла обучения и четырех отдельных стилей обучения. Главным образом она посвящена внутренним когнитивным процессам учащихся.

Согласно Колбу, обучение подразумевает усвоение абстрактных понятий, которые можно применять в различных ситуациях, сохраняя гибкость. В теории Колба толчком к развитию новых концепций является новый опыт.

«Обучение — это процесс создания знаний путем преобразования опыта».

(Колб, 1984, стр. 38)

Содержание

Цикл эмпирического обучения

Теория эмпирического обучения Колба представлена четырехэтапным циклом. Учащиеся должны «ознакомиться со всеми основами»:

1. Конкретный опыт — новый опыт или ситуация либо переосмысление уже существующего.

2. Мыслительные наблюдения за новым опытом — здесь особенно важны несоответствия между опытом и пониманием.

3. Абстрактная концептуализация — новая идея или видоизменение уже существующей абстрактной концепции (человек извлекает уроки из своего опыта).

4. Активное экспериментирование — учащиеся применяют идею (идеи) к окружающему миру и наблюдают за происходящим.

Обучение является эффективным, когда человек проходит все четыре стадии цикла: (1) — получает конкретный/непосредственный опыт, после чего следует (2) — наблюдение и размышление над этим опытом, которое приводит к (3) — формированию абстрактных концепций (анализу) и обобщениям (выводам), которые затем используются для проверки гипотезы (4), что приводит к новому опыту.

Колб рассматривает обучение как комплексный процесс, в котором каждая стадия поддерживает другую и подпитывает следующую. Можно войти в цикл на любом этапе, а затем проследить за его логической последовательностью. Однако эффективное обучение происходит только тогда, когда учащийся может пройти все четыре этапа. То есть ни одна из стадий цикла не может быть эффективной сама по себе.

Стили обучения

Согласно теории обучения Колба, существует четыре различных стиля обучения. Они основаны на четырехэтапном цикле обучения (см. выше). Колб объясняет: разные люди предпочитают разные стили обучения.

На предпочитаемый стиль обучения влияют различные факторы. Например, социальная среда, опыт обучения или базовые когнитивные структуры человека.

Но что бы ни оказывало влияние на выбор стиля обучения, наше предпочтение является продуктом двух переменных, или двух отдельных выборов. Колб представил их в виде линий оси с «конфликтующими» режимами на разных концах.

В типичном представлении двух континуумов Колба ось «восток — запад» называется континуумом обработки (это то, как мы подходим к задаче), а ось «север — юг» называется континуумом восприятия (наша эмоциональная реакция, или то, что мы думаем или чувствуем).

Колб считал, что мы не можем одновременно обрабатывать обе переменные на одной оси (например, думать и чувствовать). Наш стиль обучения является результатом двух выборов.

Систему стилей обучения Колба можно изобразить в виде матрицы два на два. Каждый стиль обучения представляет собой комбинацию двух предпочитаемых.

В матрице представлена терминология, предложенная Колбом для характеристики четырех стилей обучения (отстранение, ассимиляция, конвергенция, приспособление):

Активный эксперимент (действие)Наблюдение и размышление (созерцание)
Конкретный опыт (чувство)Приспособление (КО/АЭ)Отстранение (КО/МН)
Абстрактная концептуализация (мысль)Конвергенция (АК/АЭ)Ассимиляция (АК/МН)

Описание стилей обучения

Понимание стиля обучения человека (как и своего собственного) позволяет организовывать процесс обучения в соответствии с предпочтениями.

Однако стоит сказать, что все мы в той или иной степени реагируем на все стили обучения и нуждаемся в них. Это скорее вопрос акцента — что лучше всего соответствует конкретной ситуации и предпочтениям человека.Вот краткое описание четырех стилей обучения, предложенных Колбом:

Отстранение (чувство и созерцание — КО/МН)

Такие люди умеют смотреть на вещи с разных точек зрения. Они чувствительны, предпочитают наблюдать, а не делать, стремятся собирать информацию, для решения проблем используют воображение. Им лучше всего удается смотреть на конкретную ситуацию с разных точек зрения.

Колб назвал этот стиль отстранением, потому что такие люди лучше всего справляются с задачами, связанными с генерированием идей, например с мозговым штурмом. У них широкий круг интересов, им нравится собирать информацию. Они интересуются другими людьми, обладают богатым воображением и эмоциональным интеллектом, они также сильны в искусстве, предпочитают работать в группах, умеют непредвзято слушать и любят обратную связь.

Ассимиляция (наблюдение и мысль — АК/МН)

Этот стиль обучения предполагает лаконичный и логичный подход. Идеи и концепции важнее людей.

Таким людям необходимо четкое объяснение, а не возможность практического применения. Они отлично воспринимают обширную информацию и хорошо ее систематизируют, в меньшей степени сосредоточены на людях и больше заинтересованы в идеях и абстрактных концепциях. Их больше привлекают логически обоснованные теории, а не практические подходы.

Такой стиль обучения важен для тех, кто работает в области информатики и науки. В формальных учебных ситуациях такие люди предпочитают чтение, лекции, аналитические модели. Им необходимо время на обдумывание.

Конвергенция (действие и мысль — АК/АЭ)

Люди с конвергентным стилем обучения умеют решать проблемы и использовать полученные знания для поиска решений практических проблем. Они предпочитают технические задачи, их в меньшей степени занимают люди и межличностные аспекты отношений. Они лучше других находят практическое применение идеям и теориям, умеют решать проблемы и принимать решения. Их привлекают технические задачи, а не общественные или межличностные вопросы. Этот стиль обучения свойственен людям с техническим складом ума. Они любят экспериментировать с новыми идеями, моделировать что-либо и работать над практическим применением концепций.

Приспособление (действие и чувство — КО/АЭ)

Приспособление — это «практический» стиль, он основан на интуиции, а не на логике. Такие люди используют анализ, проведенный другими, и предпочитают практический, основанный на опыте подход. Их привлекают новые задачи и опыт, а также выполнение планов. Обычно они действуют скорее интуитивно, а не опираясь на логический анализ, склонны полагаться на информацию, полученную от других, а не проводить собственный анализ. Этот стиль обучения преобладает среди населения в целом.

Потенциал теории Колба в сфере образования

И этапы обучения, и сам цикл Колба (разработанный в 1984 году) будут полезны учителям для критической оценки предпосылок обучения и для создания более подходящих условий.

Педагоги должны убедиться в том, что задания разработаны и выполняются таким образом, чтобы все учащиеся могли заниматься так, как им удобно.

Кроме того, обучение можно сделать более эффективным, определив более подходящий стиль обучения и укрепив процесс с помощью цикла эмпирического обучения.

В идеале упражнения и материалы должны разрабатываться таким образом, чтобы задействовать все этапы цикла обучения — последовательно провести учащихся через весь процесс.

Источник

Магомед Чербижев

Поделиться:

Об авторе

Никита Пасечник

Эксперт в области продвижения и интернет-маркетинга. Специалист по бизнес-решениям. Опыт работы более 10 лет. Более 5 000 часов активных тренингов и практик.

Подробнее

Интерфейс командной строки — документация Flask (2.2.x)

Установка Flask устанавливает скрипт flask , командную строку Click интерфейс, в вашем virtualenv. Выполненный из терминала, этот скрипт дает доступ к встроенным, расширенным и определяемым приложением командам. --помощь option даст больше информации о любых командах и опциях.

Обнаружение приложений

Команда flask устанавливается Flask, а не вашим приложением; Это должно быть сказали, где найти ваше приложение, чтобы использовать его. --приложение Опция используется для указания способа загрузки приложения.

В то время как --app поддерживает различные параметры для указания вашего приложения, большинство вариантов использования должны быть простыми. Вот типичные значения:

(ничего)

Имя «приложение» или «wsgi» импортируется (в виде файла «.py» или пакета), автоматическое обнаружение приложения (приложение или приложение ) или factory ( create_app или make_app ).

--app hello

Данное имя импортируется, автоматически определяя приложение ( приложение или приложение ) или фабрика ( create_app или make_app ).


--app состоит из трех частей: необязательный путь, который устанавливает текущий рабочий каталог, файл Python или пунктирный путь импорта и необязательная переменная имя экземпляра или фабрики. Если имя является фабрикой, оно может опционально сопровождаться аргументами в скобках. Следующие значения демонстрируют эти частей:

--app src/hello

Устанавливает текущий рабочий каталог на src , затем импортирует hello .

--app hello.web

Импортирует путь hello.web .

--app hello:app2

Использует экземпляр app2 Flask в hello .

--app 'hello:create_app("dev")'

create_app factory in hello вызывается со строкой 'dev' как аргумент.

Если --app не задано, команда попытается импортировать «приложение» или «wsgi» (как файл «. py» или пакет) и попытайтесь обнаружить приложение Экземпляр или завод.

В данном импорте команда ищет экземпляр приложения с именем приложение или приложение , затем любой экземпляр приложения. Если нет экземпляра найдена, команда ищет фабричную функцию с именем create_app или make_app , который возвращает экземпляр.

Если за именем фабрики следуют круглые скобки, их содержимое анализируется как литералы Python и передаются в качестве аргументов и аргументов ключевых слов в функция. Это означает, что строки по-прежнему должны быть в кавычках.

Запустите сервер разработки

Команда run запустит сервер разработки. Это в большинстве случаев заменяет метод Flask.run() .

 $ фляга --app hello run
 * Сервисное приложение Flask "привет"
 * Работает на http://127.0.0.1:5000/ (для выхода нажмите CTRL+C)
 

Предупреждение

Не используйте эту команду для запуска приложения в рабочей среде. Используйте сервер разработки только во время разработки. Сервер разработки предоставлено для удобства, но не предназначено для обеспечения особой безопасности, стабильной или эффективной. См. Развертывание в рабочей среде, чтобы узнать, как работать в рабочей среде.

Если другая программа уже использует порт 5000, вы увидите OSError: [Errno 98] или OSError: [WinError 10013] , когда сервер пытается запуститься. См. Адрес уже используется, чтобы узнать, как справиться с этим.

Режим отладки

В режиме отладки команда flask run активирует интерактивный отладчик и reloader по умолчанию и сделать ошибки более легкими для просмотра и отладки. Чтобы включить режим отладки, используйте параметр --debug .

 $ flask --app hello run --debug
 * Сервисное приложение Flask "привет"
 * Режим отладки: включен
 * Работает на http://127.0.0.1:5000/ (для выхода нажмите CTRL+C)
 * Перезагрузка с помощью reloader inotify
 * Отладчик активен!
 * PIN-код отладчика: 223-456-919
 

Опция --debug также может быть передана команде верхнего уровня flask для включения режим отладки для любой команды. Следующие два вызова run эквивалентны.

 $ flask --app hello --debug run
$ flask --app hello run --debug
 

Просмотр и игнорирование файлов с помощью Reloader

При использовании режима отладки загрузчик будет запускаться всякий раз, когда ваш код Python или импортированный модули меняются. Reloader может просматривать дополнительные файлы с параметром --extra-files вариант. Несколько путей разделены : или ; в Windows.

 $ flask run --extra-files file1:dirA/file2:dirB/
 * Работает на http://127.0.0.1:8000/
 * Обнаружено изменение в '/path/to/file1', перезагрузка
 

Reloader также может игнорировать файлы, использующие шаблоны fnmatch с --exclude-patterns опция. Несколько шаблонов разделены : или ; на Окна.

Открыть оболочку

Чтобы изучить данные в вашем приложении, вы можете запустить интерактивный Python оболочки с помощью команды оболочки . Приложение контекст будет активен, и экземпляр приложения будет импортирован.

 $ корпус фляги
Python 3.10.0 (по умолчанию, 27 октября 2021 г., 06:59:51) [GCC 11.1.0] в Linux
Приложение: пример [производство]
Экземпляр: /home/david/Projects/pallets/flask/instance
>>>
 

Используйте shell_context_processor() для добавления других автоматических импортов.

Переменные среды Из dotenv

Команда flask поддерживает установку любого параметра для любой команды с переменные окружения. Переменные называются как FLASK_OPTION или FLASK_COMMAND_OPTION , например FLASK_APP или FLASK_RUN_PORT .

Вместо того, чтобы передавать параметры каждый раз, когда вы запускаете команду или среду переменные каждый раз, когда вы открываете новый терминал, вы можете использовать dotenv Flask поддержка автоматической установки переменных среды.

Если установлен python-dotenv, запуск команды flask установит переменные среды, определенные в файлах . env и .flaskenv . Вы также можете указать дополнительный файл для загрузки с помощью --env-file вариант. Файлы Dotenv можно использовать, чтобы не устанавливать --app или FLASK_APP вручную и установить конфигурацию с помощью среды переменные, аналогичные тому, как работают некоторые службы развертывания.

Переменные, установленные в командной строке, используются вместо тех, которые установлены в .env , которые используются вместо тех, что установлены в .flaskenv . .flaskenv должен быть используется для общедоступных переменных, таких как FLASK_APP , а .env не должен быть переданы в ваш репозиторий, чтобы он мог устанавливать частные переменные.

Каталоги сканируются вверх от каталога, который вы называете flask from, чтобы найти файлы.

Файлы загружаются только командой flask или вызовом запустить() . Если вы хотите загружать эти файлы при запуске в производство, звоните load_dotenv() вручную.

Настройка параметров команды

Click настроен на загрузку значений по умолчанию для параметров команды из переменные окружения. Переменные используют шаблон FLASK_COMMAND_OPTION . Например, чтобы установить порт для запуска команду, вместо flask run --port 8000 :

 $ экспорт FLASK_RUN_PORT=8000
$ фляжка
 * Работает на http://127.0.0.1:8000/
 

Их можно добавить в файл .flaskenv так же, как FLASK_APP в управлять параметрами команды по умолчанию.

Отключить дотенв

Команда flask покажет сообщение, если обнаружит файлы dotenv, но python-dotenv не установлен.

 $ прогон фляги
 * Совет: присутствуют файлы .env. Сделайте «pip install python-dotenv», чтобы использовать их.
 

Вы можете указать Flask не загружать файлы dotenv, даже если python-dotenv устанавливается путем установки переменной среды FLASK_SKIP_DOTENV . Это может быть полезно, если вы хотите загрузить их вручную или используете бегун проекта, который их уже загружает. Имейте в виду, что переменные среды должны быть установлены до загрузки приложения, иначе оно не настроить как положено.

 $ экспорт FLASK_SKIP_DOTENV=1
$ фляжка
 

Переменные среды из virtualenv

Если вы не хотите устанавливать поддержку dotenv, вы все равно можете установить среду переменные, добавив их в конец виртуального окружения , активируйте сценарий. Активация virtualenv установит переменные.

Unix Bash, venv/bin/activate :

 $ export FLASK_APP=hello
 

Вместо этого предпочтительнее использовать поддержку dotenv, так как .flaskenv может быть привязан к репозиторию, чтобы он работал автоматически везде, где проект проверяется.

Пользовательские команды

Команда flask реализована с помощью Click. Посмотреть этот проект документацию для получения полной информации о написании команд.

В этом примере добавляется команда create-user , которая принимает аргумент имя .

 клик по импорту
из фляги импорт фляги
приложение = фляга (__имя__)
@app.cli.command("создать-пользователя")
@click.argument("имя")
деф create_user (имя):
    ...
 
 $ flask создать пользователя-администратора
 

В этом примере добавляется та же команда, но поскольку пользователь создает , команду в группа. Это полезно, если вы хотите организовать несколько связанных команд.

 клик по импорту
из фляги импорт фляги
из flask.cli импортировать группу приложений
приложение = фляга (__имя__)
user_cli = группа приложений («пользователь»)
@user_cli.command('создать')
@click.argument('имя')
деф create_user (имя):
    ...
app.cli.add_command(user_cli)
 
 $ пользователь фляги создает демонстрацию
 

См. «Выполнение команд с помощью CLI Runner» для обзора того, как протестировать пользовательский команды.

Регистрация команд с помощью чертежей

Если ваше приложение использует схемы, вы можете дополнительно зарегистрировать CLI команды прямо на них. Когда ваш план зарегистрирован на вашем приложение, связанные команды будут доступны для фляги команда. По умолчанию эти команды будут вложены в группу, соответствующую название чертежа.

 из фляги импорта Blueprint
bp = Blueprint('студенты', __name__)
@bp.cli.command('создать')
@click.argument('имя')
деф создать (имя):
    ...
app.register_blueprint (бп)
 
 $ фляги студенты создают Алису
 

Вы можете изменить имя группы, указав параметр cli_group при создании объекта Blueprint или более поздней версии с app.register_blueprint(bp, cli_group='...') . Следующие эквивалентны:

 bp = Blueprint('студенты', __name__, cli_group='other')
# или
app.register_blueprint (bp, cli_group = 'другое')
 
 $ фляга другое создать алису
 

Указание cli_group=Нет удалит вложенность и объединит команды непосредственно на уровень приложения:

 bp = Blueprint('студенты', __name__, cli_group=Нет)
# или
app. register_blueprint (bp, cli_group = нет)
 
 $ фляга создать алису
 

Контекст приложения

Команды, добавленные с помощью кли приложения Flask или FlaskGroup command() декоратор будет выполняться с нажатым контекстом приложения, поэтому ваш пользовательский команды и параметры имеют доступ к приложению и его конфигурации. with_appcontext() декоратор можно использовать, чтобы получить то же самое поведение, но в большинстве случаев не требуется.

 клик по импорту
из flask.cli импортировать with_appcontext
@click.command()
@with_appcontext
определение do_work():
    ...
app.cli.add_command(do_work)
 

Плагины

Flask автоматически загрузит команды, указанные в flask.commands входная точка. Это полезно для расширений, которые хотят добавлять команды, когда они установлены. Точки входа указаны в setup.py

 из настройки импорта setuptools
настраивать(
    имя = 'фласк-мое-расширение',
    . ..,
    entry_points={
        'фласк.команды': [
            'моя-команда = flask_my_extension.commands:cli'
        ],
    },
)
 

Внутри flask_my_extension/commands.py вы можете экспортировать Click объект:

 клик по импорту
@click.command()
деф кли():
    ...
 

Как только этот пакет будет установлен в той же виртуальной среде, что и ваш проект Flask, ты можешь бежать flask my-command для вызова команды.

Пользовательские сценарии

При использовании шаблона фабрики приложений может быть удобнее определить ваш собственный скрипт Click. Вместо использования --app и загрузки Flask вашего приложения, вы можете создать свой собственный объект Click и экспортировать его как точка входа консольного скрипта.

Создайте экземпляр FlaskGroup и передайте его фабрике:

 клик по импорту
из фляги импорт фляги
из flask.cli импортировать FlaskGroup
определение create_app():
    приложение = Фласк('вики')
    # другая установка
    вернуть приложение
@click. group(cls=FlaskGroup, create_app=create_app)
деф кли():
    """Скрипт управления вики-приложением."""
 

Определите точку входа в setup.py :

 из настройки импорта setuptools
настраивать(
    имя = 'фласк-мое-расширение',
    ...,
    entry_points={
        'консольные_скрипты': [
            'вики=вики:кли'
        ],
    },
)
 

Установить приложение в виртуалке в редактируемом режиме и кастомном скрипт доступен. Обратите внимание, что вам не нужно устанавливать --app .

 $ pip install -e .
$ вики запустить
 

Ошибки в пользовательских сценариях

При использовании пользовательского скрипта, если вы вводите ошибку в свой код на уровне модуля, перезагрузчик не удастся, потому что он больше не может загрузить точку входа.

Команда flask , будучи отдельной от вашего кода, не имеет эту проблему и рекомендуется в большинстве случаев.

Интеграция PyCharm

PyCharm Professional предоставляет специальную конфигурацию запуска Flask для запуска разработки. сервер. Для Community Edition и для других команд, кроме , введите 9.0004, вам нужно создать пользовательскую конфигурацию запуска. Эти инструкции должны быть аналогичны для любого другого IDE, которую вы используете.

В PyCharm, когда ваш проект открыт, нажмите «Выполнить » в строке меню и перейдите к «Редактировать». Конфигурации . Вы увидите экран, похожий на этот:

После того, как вы создадите конфигурацию для фляги , запустите , вы можете скопировать и изменить ее на вызвать любую другую команду.

Нажмите кнопку + (Добавить новую конфигурацию) и выберите Питон . Дайте конфигурацию имя, такое как «прогон фляги».

Щелкните раскрывающийся список Script path и измените его на Имя модуля , затем введите flask .

В поле Параметры задана команда CLI для выполнения вместе с любыми аргументами. В этом примере используется --app hello run --debug , который запустит сервер разработки в Режим отладки. --app hello должен быть импортом или файлом с вашим приложением Flask.

Если вы установили свой проект как пакет в виртуальную среду, вы можете снять флажок PYTHONPATH вариантов. Это будет более точно соответствовать тому, как вы развернетесь позже.

Нажмите OK , чтобы сохранить и закрыть конфигурацию. Выберите конфигурацию в главном Окно PyCharm и нажмите кнопку воспроизведения рядом с ним, чтобы запустить сервер.

Теперь, когда у вас есть конфигурация для flask run , вы можете скопировать эту конфигурацию и изменить параметры для запуска другой команды CLI.

Flask Tutorial — Методы HTTP — GET & POST

Подпишитесь на Tech With Tim!

Методы HTTP

В этом уроке мы поговорим о методах HTTP. Методы HTTP — это стандартный способ отправки информации на веб-сервер и с него. Чтобы разбить его, веб-сайт работает на сервере или нескольких серверах и просто возвращает информацию клиенту (веб-браузеру). Обмен информацией между клиентом и сервером осуществляется с использованием протокола HTTP, который имеет несколько различных методов. Мы будем обсуждать наиболее часто используемые сообщения, называемые POST & GET.

GET

GET — это наиболее часто используемый метод HTTP, который обычно используется для получения информации с веб-сервера.

POST

POST обычно используется для отправки информации на веб-сервер. Он чаще используется при загрузке файла, получении данных формы и отправке конфиденциальных данных. POST — это безопасный способ отправки данных на веб-сервер.

Создание формы

В этом примере мы создадим форму и обсудим, как мы можем использовать HTTP-метод POST для отправки информации из нашей формы на наш сервер.

Вот новый HTML-файл, который я создал под названием «login.html».

 {% расширяет "base.html" %}
{% block title %}Страница входа{% endblock %}
{% заблокировать содержимое %}

Имя:

{% конечный блок%}

Мы указали метод отправки формы. Это означает, что при отправке формы мы отправляем данные на веб-сервер в виде запроса.

Обратите внимание на имя поля ввода текста, мы будем использовать его, чтобы получить его значение из нашего кода Python.

Back-End

Что мы собираемся сделать, так это настроить страницу входа, которая просит пользователя ввести свое имя. Как только они нажмут кнопку отправки, они будут перенаправлены на страницу, на которой отображается введенное ими имя.

Мы начнем с импорта нового модуля под названием «request».

 из фляги импорт фляги, перенаправление, url_for, render_template, запрос
 

Далее мы настроим страницу входа.

Чтобы указать, что страница работает как с запросами POST, так и с GET, нам нужно добавить в декоратор аргумент метода.

 @app.route("/логин", методы=["POST", "GET"])
 

Теперь внутри функции мы проверим, получаем ли мы запрос GET или POST. Затем мы определим операцию для выполнения на основе запроса. Если мы получили запрос POST, это означает, что мы отправили форму и должны перенаправить на соответствующую страницу. В противном случае мы должны просто вернуться и отобразить страницу входа.

 по умолчанию логин():
    если request.method == "POST":
пользователь = запрос.форма["nm"]
вернуть перенаправление (url_for («пользователь», usr = пользователь))
    еще:
вернуть render_template("login.html")
 

Теперь настроим страницу пользователя. Это просто отобразит имя пользователя в тегах h2. Просто для примера/тестирования нам не нужно ничего необычного.

 @app.route("/")
определяемый пользователь (USR):
    вернуть f" 

{usr}

"

Теперь давайте протестируем наш сайт!

Перейдем на страницу /login и введем свое имя.

И после нажатия кнопки "Отправить"! Мы получаем страницу с нашим именем...

Полный код Python

 из flask import Flask, redirect, url_for, render_template, request
приложение = фляга (__имя__)
@приложение.маршрут("/")
защита дома():
 вернуть render_template("index.html")
@app.route("/логин", методы=["POST", "GET"])
деф логин():
 если request.method == "POST":
 пользователь = запрос.форма["nm"]
 вернуть перенаправление (url_for («пользователь», usr = пользователь))
 еще:
 вернуть render_template("login.html")
@app.route("/")
определяемый пользователь (USR):
 вернуть f"

{usr}

" если __name__ == "__main__": app.