Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 357

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

$ 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!

Глава 10. Системы

463

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.

Перед вами файл flask3.py:

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/')

def home():

thing = request.values.get('thing')

height = request.values.get('height')

color = request.values.get('color')

return render_template('home.html',

thing=thing, height=height, color=color)

app.run(debug=True)

Перейдите в своем клиенте по следующему адресу:

http://localhost:5000/?thing=Octothorpe&height=7&color=green

Вы должны увидеть следующее:

I'm of course referring to Octothorpe, which is 7 feet tall and green.

Глава 10. Системы

1. Запишите текущие дату и время как строку в текстовый файл today.txt:

>>> from datetime import date

>>> now = date.today()

>>> now_str = now.isoformat()

>>> with open('today', 'wt') as output:

... print(now_str, file=output)

>>>

Вместо функции print вы могли бы использовать строку вроде output.write(now_str).

Использование функции print добавляет символ перевода строки в конце.

2. Прочтите текстовый файл today.txt и разместите данные в строке today_string:

>>> with open('today', 'rt') as input:

... today_string = input.read()

...

>>> today_string

'2014-02-04\n'

464