Пагинация, авторизация. bottle - Python
Формулировка задачи:
Всем привет. Делаю свой первый полноценный сайт(блог). Использую микрофреймворк bottle. Нужно реализовать:
1. Пагинцию на главной странице. Как это сделать? отфильтровать через sql запрос или же писать код в самом приложении?
2. Авторизации как такого не будет, но нужно поставить под пароль админку.
А. и еще. bottle_sqlite выдает предупреждение.
Что это такое и чем оно грозит? Насколько я понял функция getargspec() устарела, и рекомендуют использовать новую.
Вот кусок кода.
bottle_sqlite.py:105: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
argspec = inspect.getargspec(_callback)
Помогите разобраться.
Решение задачи: «Пагинация, авторизация. bottle»
textual
Листинг программы
@route('/')
@route('/page/<page_id:int>')
def index(db, page_id=1):
from math import ceil
cur = db.execute('SELECT * FROM post ORDER BY id DESC')
count = cur.fetchall()
all_pages = int(ceil(len(count) / 2))
pages = [x for x in range(1, (len(count) + 1))]
per_page = [x for x in range(0, (len(count) * 2 - 2) + 1, 2)]
limit_pages = dict(zip(pages, per_page))
if page_id in limit_pages.keys():
limit = limit_pages.get(page_id)
else:
return abort(404)
cur = db.execute('SELECT * FROM post ORDER BY id DESC LIMIT {}, 2'.format(limit))
rows = cur.fetchall()
if page_id > all_pages or page_id <= 0:
return abort(404)
else:
next_page = page_id + 1
prev_page = page_id - 1
return template('index',
url=url,
next_page=next_page,
prev_page=prev_page,
rows=rows,
title='Главная')