Bottle микро веб фреймворк база данных. Приложения для просмотра таблицы sqlite3.

SQLITE3 база данных

Чтобы создать базу данных sqlite3 со значения нужно создать скрипт sv.py со следующим содержимым:

import sqlite3
con = sqlite3.connect('bucket.db')
con.execute("CREATE TABLE bucket (id INTEGER PRIMARY KEY, wish char(100) NOT NULL, status bool NOT NULL)")
con.execute("INSERT INTO bucket (wish,status) VALUES ('Flying over Golden Gate Bridge',0)")
con.execute("INSERT INTO bucket (wish,status) VALUES ('Wind surfing under Golden Gate Bridge',0)")
con.execute("INSERT INTO bucket (wish,status) VALUES ('Bungee jumping from Golden Gate Bridge',0)")
con.execute("INSERT INTO bucket (wish,status) VALUES ('Walking across Golden Gate Bridge',1)")
con.commit()   

Bottle bucket.py

Теперь пишем скрипт для вывода значений из базы данных bucket.py:

import sqlite3
from bottle import route, run

@route('/bucket')
def bucket_list():
    conn = sqlite3.connect('bucket.db')
    c = conn.cursor()
    c.execute("SELECT id, wish FROM bucket WHERE status LIKE '1'")
    result = c.fetchall()
    return str(result)

run()
функция run() запускает наш веб сервер, по умолчанию веб сервер работает только локально. Функцией @route('/bucket') мы запускаем прослушку страницы /bucket.

Теперь давайте просто запустим наш сайт, для этого открываем браузер на странице http://localhost:8080/bucket. Вы должны увидеть то что показано на скриншоте ниже:

То что мы видим это список картриджей, каждый картридж содержит один набор результатов, возвращаемых из запроса SQL.

Теперь нужно создать таблицу HTML чтобы это все было красиво. Для этого мы будем использовать шаблон для bottle фреймворка, он обычно имеет формат .tpl.

Теперь дополним наш код bucket.py:

# bucket.py
import sqlite3
from bottle import route, run, template

HOST = 'localhost'
PORT = 8080

@route('/bucket')
def bucket_list():
    conn = sqlite3.connect('bucket.db')
    c = conn.cursor()
    c.execute("SELECT id, wish FROM bucket WHERE status LIKE '0'")
    result = c.fetchall()
    c.close()
    return template('wish_table', rows=result)

run(host=HOST, port=PORT, debug=True)
Мы добавили две новые вещи здесь. А именно:
  • Мы импортировали .tpl шаблон из Bottlepy
  • И добавили на вывод шаблон
Если запустить сервер на данном этапе то мы увидим следующее:
Это норма по скоку мы не создавали никакого шаблона. Для этого нужно создать файл wish_table.tpl со следующим содержимым:

%# wish_table.tpl
<p>The open wish items are as follows:</p>
<table border="1">
%for r in rows:
  <tr>
  %for c in r:
    <td>{{c}}</td>
  %end
  </tr>
%end
</table>
После чего мы увидим работоспособный сайт:

На этом все спасибо что прочитали данный выпуск до конца!

Комментарии

Популярные сообщения из этого блога

DOS атака при помощи Python

Ведем телеграм канал через питон

Django migrations не видит изменения моделей