Руководство по Python Bottle (Перевод) Часть 1 - Установка
PythonЭто руководство познакомит вас с концепциями и возможностями фреймворка Bottle. Данное руководство можно читать от начала и до конца, как учебный материал для ознакомления. Также можно использовать руководство как справочник для ознакомления с интересующими особенностями фреймворка Bottle.
Данное руководство является адаптированным переводом информации с ресурса BOTTLEPY.ORG от 20.04.2017г.
В руководстве местами содержатся некоторые мои комментарии и дополнения. Поэтому, это не дословный перевод, но надеюсь достаточно качественный.
Итак, приступим.
Руководство по Python Bottle (Перевод) Часть 2 - Hello World
PythonВ предыдущей части мы рассмотрели установку Bottle:
Руководство по Python Bottle (Перевод) Часть 1 — Установка
В этой части мы пойдем дальше и рассмотрим простой пример приложения сайта «Hello World».
2. Простой пример («Hello World!»)
Здесь предполагается что у вас уже установлен Bottle, либо библиотека скопирована в папку проекта.Начнем с очень простого примера «Hello World!»:
Создание Hello World на Bottle...
Python python 3 bottle руководство tutorial перевод hello world route
Руководство по Python Bottle (Перевод) Часть 5 - Request Data (данные в запросе)
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 4 — Создание контента) мы рассмотрели основные аспекты относящиеся к передаваемому контенту, в этой части мы рассмотрим данные передаваемые в запросах.
Файлы Cookie, HTTP-заголовки, поля HTML форм и другие данные запроса доступны через глобальный объект request. Этот специальный объект всегда ссылается на текущий запрос, даже в многопоточных средах, где одновременно обрабатываются сразу несколько клиентских подключений:
from bottle import request, route, template
@route('/hello')
def hello():
name = request.cookies.username or 'Guest'
return template('Привет {{name}}', name=name)
Объект request является подклассом от BaseRequest и имеет очень богатый API для доступа к данным. Здесь будут рассмотрены только наиболее часто используемые функции, этого должно быть достаточно для начала.
Читаль далее...
Руководство по Python Bottle (Перевод) Часть 6 - Templates (о Шаблонах)
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 5 — Request Data (данные в запросе)) мы рассмотрели основные аспекты относящиеся к передаваемым данным в запросах, в этой части мы вкратце рассмотрим использование шаблонов.
Bottle имеет быстрый и мощный встроенный механизм шаблонов, который называется SimpleTemplate Engine. Для рендеринга шаблона вы можете использовать функцию template() или декоратор view(). Все, что вам нужно сделать, это предоставить имя шаблона и переменные, которые вы хотите передать шаблону в качестве аргументов. Вот простой пример того, как обратиться к шаблону:
@route('/hello')
@route('/hello/<name>')
def hello(name='World'):
return template('hello_template', name=name)
Данный код загрузит файл шаблона hello_template.tpl и отобразит его с установленной переменной name. Bottle будет искать шаблоны в папке ./views/ или в любой папке, указанной в списке bottle.TEMPLATE_PATH.
Читаль далее...
Руководство по Python Bottle (Перевод) Часть 3 - Маршрутизация запросов
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 2 — Hello World) мы создали простое Web приложение, с одним единственным маршрутом, вот та часть кода с маршрутизацией из примера «Hello WOrld»:
@route('/hello')
def hello():
return "Hello World!"
В этом примере декоратор route() связывает URL путь с вызываемой функцией, и добавляет новый маршрут.
Теперь давайте добавим ещё один маршрут:
@route('/')
@route('/hello/<name>')
def greet(name='Незнакомец'):
return template('Здравствуй {{name}}, как дела?', name=name)
(Не забываем ипортировать необходимые библиотеки: from bottle import template)
Данный пример демонстрирует сразу две важные вещи: Вы можете привязывать более одного маршрута к одной вызываемой функции, и вы можете добавлять шаблоны URL адресов и получать доступ к параметрам по ключевым словам.
Читаль далее...
Руководство по Python Bottle (Перевод) Часть 4 - Создание контента
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 3 — Маршрутизация запросов) мы рассмотрели основные аспекты касающиеся маршрутизации запросов, в этой части будут рассмотрены аспекты относящиеся к передаваемому контенту.
Создание контента
В чистом стандарте WSGI диапазон возвращаемых из приложения типов очень ограничен. Приложения должны возвращать строки с возможностью разбиения их на набор байт. Можно вернуть строку (разбив её на части), но большинство серверов это заставляет передавать контент символ за символом. Строки в Unicode не допускаются вообще. Это не очень практично.
Bottle гораздо более гибок и поддерживает широкий спектр типов. Он автоматически добавляет заголовок Content-Length, когда это возможно, и автоматически кодирует Unicode, что облегчает работу разработчика. Ниже приведен список типов данных, которые могут быть возвращены из приложения, и краткое описание того, как они обрабатываются платформой:
Читаль далее...