Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Мега-Учебник Flask, Часть 1: Здравствуй, Мир!

Anna | 16.06.2014 | нет комментариев
Это первая статья в серии, где я буду документировать мой навык написания веб-приложения на Python, применяя микрофреймворк Flask.

Тут список всех статей в серии:

Часть 1: Здравствуй, Мир! (эта статья)
Часть 2: Образцы
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
Часть 10: Полнотекстовый поиск
Часть 11: Помощь e-mail
Часть 12: Реконструкция
Часть 13: Дата и время
Часть 14: I18n and L10n
Часть 15: Ajax
Часть 16: Отладка, тестирование и профилирование
Часть 17: Развертывание на Linux (даже на Raspberry Pi!)
Часть 18: Развертывание на Heroku Cloud

Моя предыстория

Я разработчик ПО с двузначным числом лет навыка разработки комплексных приложений на нескольких языках. Впервой я познакомился с Python для создания привязок к C библиотеке на работе. Вдобавок к Python, я писал веб-приложения на PHP, Ruby, Smalltalk и, верите вы либо нет, еще на С . Из каждого этого, я нахожу комбинацию Python/Flask самой эластичной.

Приложение

Приложение, которое я собираюсь разрабатывать как часть этого начальства, является сервером микроблогов, и я решил назвать его microblog. Достаточно креативно, я знаю.

Во время нашего прогресса я затрону следующие темы:

  • Управление пользователями, включая управление входами, сессиями, ролями пользователя, профилями и пользовательскими аватарами
  • Управление базой данных, включая миграцию
  • Помощь форм, включая валидацию полей
  • Пагинация длинных списков элементов
  • Полнотекстовый поиск
  • E-mail уведомления пользователей
  • HTML образцы
  • Помощь нескольких языков
  • Кеширование и иная оптимизация продуктивности
  • Способы отладки для серверов разработки и продакшна
  • Установка на продакшн сервер

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

Требования

Если ваш компьютер поддерживает Python 2.6/2.7, то все, возможно, пойдет отлично. Приложение из начальства должно типично трудиться на Windows, OS X и Linux.

Это начальство подразумевает, что вы знакомы с окном терминала (командной консолью в случае Windows), и вы знаете основные команды для работы с файлами вашей ОС. Если это не так, то перед тем как продолжить, я рекомендую вам ознакомиться с тем, как создавать директории, копировать файлы и т.д., применяя консоль.

Наконец, вы обязаны Ощущать себя вольно в написании кода на Python. Знакомство с модулями и пакетами этого языка также не помешает.

Установка Flask

Ну что ж, приступим!
Если у вас еще не установлен Python 2.7, то берем его отсель.

Сейчас нам необходимо установить Flask и несколько растяжений, которые мы будем применять. Я выбираю создание виртуального окружения, где все это будет установлено таким образом, что ваша основная установка Python затронута не будет. В качестве бонуса, вам не необходим будет root доступ для установки таким методом.

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

Дальше скачиваем virtualenv.py и кладем его вовнутрь новой папки.

Дабы сделать новое окружение введите следующую команду:

python virtualenv.py flask

Эта команда сделает полновесное окружение Python внутри папки flask

Виртуальные окружения могут быть активированы и деактивированы по желанию. Активированное окружение добавляет путь своей папки bin в path системы, скажем, когда вы вызываете интерпретатор python, то получаете версию нынешнего окружения, а не системную. Лично я никогда не любил это качество, следственно ни разу не активировал ни одно из моих окружений, взамен этого я легко вызывал тот интерпретатор, тот, что хотел, печатая его путь.

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

Если вы пользователь Linux, OS x либо Cygwin, установите flask и растяжения, вводя следующие команды одну за одной:

Список команд

flask/bin/pip install flask==0.9
flask/bin/pip install flask-login
flask/bin/pip install flask-openid
flask/bin/pip install flask-mail
flask/bin/pip install sqlalchemy==0.7.9
flask/bin/pip install flask-sqlalchemy==0.16
flask/bin/pip install sqlalchemy-migrate
flask/bin/pip install flask-whooshalchemy==0.54a
flask/bin/pip install flask-wtf==0.8.4
flask/bin/pip install pytz==2013b
flask/bin/pip install flask-babel==0.8
flask/bin/pip install flup

Если же вы пользователь Windows, то команды слегка отличаются:

Список команд

flaskScriptspip install flask==0.9
flaskScriptspip install flask-login
flaskScriptspip install flask-openid
flaskScriptspip install sqlalchemy==0.7.9
flaskScriptspip install flask-sqlalchemy==0.16
flaskScriptspip install sqlalchemy-migrate
flaskScriptspip install flask-whooshalchemy==0.54a
flaskScriptspip install flask-wtf==0.8.4
flaskScriptspip install pytz==2013b
flaskScriptspip install flask-babel==0.8
flaskScriptspip install flup

Эти команды скачают и установят все пакеты, которые мы будем применять в нашем приложении.
Учтите, что мы собираемся применять Flask 0.9, а не последнюю версию. Flask 0.10 не было достаточно длинно и некоторые растяжения не готовы для работы с данной версией. Также есть несколько несовместимостей между пакетами и последней версией pip, которые решены применением определенных версий для установки.

Windows пользователей ожидает еще один шаг. Наблюдательный читаель подметит, что в списке команд для Windows отсутствует flask-mail. Это растяжение не устанавливается чисто на Windows, следственно мы пойдем обходным путем:

flaskScriptspip install --no-deps lamson chardet flask-mail

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

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

«Hello, World!» в Flask

Сейчас у вас есть подпапка flask, в вашей папке microblog, содержащая интерпретатор Python и фреймворк Flask с растяжениями, которые мы будем применять в этом приложении. Настало время написать наше первое веб-приложение!

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

mkdir app
mkdir app/static
mkdir app/templates
mkdir tmp

В папку app мы разместим само наше приложение. Подпапка static необходима для хранения статики, такой как картинки, javascript файлы и таблицы жанров. Подпапка templates, видимо, предуготовлена для хранения наших образцов.

Давайте начнем с создания простого скрипта инициализации нашего пакета app (файл app/__init__.py)

from flask import Flask

app = Flask(__name__)
from app import views

Скрипт выше легко создает объект приложения (наследуя Flask), после этого импортирует модуль п

Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB