5.0 KiB
title | localeTitle |
---|---|
Bottle | бутылка |
Рамка для бутылок позволяет нам очень быстро и легко вставать и работать с помощью базового веб-приложения.
Ниже приведена информация о том, как писать и запускать простое приветственное веб-приложение, в котором мы можем ввести наше имя в форме, нажмите «Отправить» и верните приветствие.
-
Используйте
pip
для установки пакета бутылок.pip install bottle
-
Создайте файл
html
который будет использоваться при загрузке сайта. Напримерindex.html
.Давайте добавим заголовок и базовую форму на эту страницу.
<h3>Say Hello</h3> <form action="/hello" method="get"> Name: <input type="text" name="name"><br><br> <input type="submit"> </form>
-
Создайте новый файл python, например
main.py
-
В первой строке файла нам нужно импортировать функции получения, запроса и запуска из модуля бутылки.
from bottle import get, request, run
-
Теперь мы определяем нашу функцию для обслуживания нашего html-файла при обращении к корневой странице.
Здесь мы используем декоратор
@get
, который указывает, что эта функция должна отвечать наHTTP GET
запросыHTTP GET
и передавать в'/'
в качестве пути, к которому будет вызвана функция.Затем мы определяем функцию
index()
с использованием ключевого словаdef
.Чтобы прочитать и вернуть html-файл, который мы создали на шаге 2, мы используем так называемый менеджер контекста. Это позволяет открывать и закрывать файл для нас, позволяя нам читать файлы и содержимое и возвращать их с помощью оператора
return
.@get('/') def index(): with open('./index.html') as f: return f.read()
-
Чтобы заставить сайт запускать и прослушивать запросы, нам нужно добавить вызов функции
run
фреймворка бутылки следующим образом.Здесь мы передаем хост, на котором будет работать веб-приложение, в данном случае -
localhost
, и порт, который он должен прослушивать для HTTP-запросов. -
Запустите приложение и загрузите его в своем браузере. Http: // localhost: 8080 /, вы должны увидеть html-файл, который мы создали в браузере.
Если мы введем наше имя и нажимаем submit, мы получим ошибку
HTTP 404
хотя мы еще не определили функцию для ответа на этот запрос.run(host='localhost', port=8080)
-
Вернемся в наш файл
main.py
и теперь нам нужно определить функцию, которая будет отвечать, когда вы будете удалять нашу форму.Опять же, здесь используется декоратор
@get
, но на этот раз мы переходим в'/.hello'
в качестве пути. Вы можете заметить, что это тот же путь, который мы определили в атрибуте action нашей формы вindex.html
.Затем мы извлекаем значение
name
из url, при отправке формы данные формы кодируются url следующим образом http: // localhost: 8080 / hello? Name = Jon + SnowНаконец, мы возвращаем приветствие, добавляя имя, введенное в нашу форму.
@get('/hello') def hello(): name = request.query['name'] return f'Hello {name}'