Простой Python. Современный стиль программирования (Любанович) - страница 283

>>>> import sqlalchemy

>>>> conn = sqlalchemy.create_engine('sqlite:///books.db')

>>>> sql = 'select title from book order by title asc'

>>>> rows = conn.execute(sql)

>>>> for row in rows:

>…·····print(row)

>…

>('Perdido Street Station',)

>('Small Gods',)

>('The Spellman Files',)

>('The Weirdstone of Brisingamen',)

>('Thud!',)

11. Установите сервер Redis и библиотеку Python Redis (с помощью команды pip install redis) на свой компьютер. Создайте хеш Redis с именем test, содержащий поля count (1) и name ('Fester Bestertester'). Выведите все поля хеша test:

>>>> import redis

>>>> conn = redis.Redis()

>>>> conn.delete('test')

>1

>>>> conn.hmset('test', {'count': 1, 'name': 'Fester Bestertester'})

>True

>>>> conn.hgetall('test')

>{b'name': b'Fester Bestertester', b'count': b'1'}

12. Увеличьте поле count хеша test и выведите его на экран:

>>>> conn.hincrby('test', 'count', 3)

>4

>>>> conn.hget('test', 'count')

>b'4'

Глава 9. Распутываем Всемирную паутину

1. Если вы еще не установили Flask, сделайте это сейчас. Это также установит werkzeug, jinja2 и, возможно, другие пакеты.

2. Создайте скелет сайта с помощью веб-сервера Flask. Убедитесь, что сервер начинает свою работу по адресу Localhost на стандартном порте 5000. Если ваш компьютер уже использует порт 5000 для чего-то еще, воспользуйтесь другим портом.

Так выглядит файл flask1.py:

>from flask import Flask

>app = Flask(__name__)

>app.run(port=5000, debug=True)

Поехали:

>$ python flask1.py

>* Running on http://127.0.0.1:5000/

>* Restarting with reloader

3. Добавьте функцию home(), которая обрабатывает запросы к домашней странице. Укажите ей возвращать строку запроса It's alive!.

Как нам назвать этот файл, flask2.py?

>from flask import Flask

>app = Flask(__name__)

>@app.route('/')

>def home():

>····return "It's alive!"

>app.run(debug=True)

Запустим сервер:

>$ python flask2.py

>* Running on http://127.0.0.1:5000/

>* Restarting with reloader

Наконец, получим доступ к домашней странице через браузер, HTTP-программы командной строки вроде curl, или wget, или даже telnet:

>$ curl http://localhost:5000/

>It's alive!

4. Создайте шаблон для jinja2, который называется home.html и содержит следующий контент:

>I'm of course referring to {{thing}}, which is {{height}} feet tall and {{color}}.

Создайте папку templates и файл home.html, содержащий показанное. Если ваш сервер Flask все еще работает после запуска предыдущих примеров, он обнаружит новый контент и перезапустится.

5. Модифицируйте функцию home() вашего сервера, чтобы она использовала шаблон home.html. Передайте ей три параметра для команды GET: thing, height и color.