Пагинация, авторизация. bottle - Python

Узнай цену своей работы

Формулировка задачи:

Всем привет. Делаю свой первый полноценный сайт(блог). Использую микрофреймворк bottle. Нужно реализовать: 1. Пагинцию на главной странице. Как это сделать? отфильтровать через sql запрос или же писать код в самом приложении? 2. Авторизации как такого не будет, но нужно поставить под пароль админку. А. и еще. bottle_sqlite выдает предупреждение.
bottle_sqlite.py:105: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead argspec = inspect.getargspec(_callback)
Что это такое и чем оно грозит? Насколько я понял функция getargspec() устарела, и рекомендуют использовать новую. Вот кусок кода.
Листинг программы
  1. argspec = inspect.getargspec(_callback)
  2. if keyword not in argspec.args:
  3. return callback
Помогите разобраться.

Решение задачи: «Пагинация, авторизация. bottle»

textual
Листинг программы
  1. @route('/')
  2. @route('/page/<page_id:int>')
  3. def index(db, page_id=1):
  4.     from math import ceil
  5.     cur = db.execute('SELECT * FROM post ORDER BY id DESC')
  6.     count = cur.fetchall()
  7.     all_pages = int(ceil(len(count) / 2))
  8.     pages = [x for x in range(1, (len(count) + 1))]
  9.     per_page = [x for x in range(0, (len(count) * 2 - 2) + 1, 2)]
  10.     limit_pages = dict(zip(pages, per_page))
  11.  
  12.     if page_id in limit_pages.keys():
  13.         limit = limit_pages.get(page_id)
  14.     else:
  15.         return abort(404)
  16.  
  17.     cur = db.execute('SELECT * FROM post ORDER BY id DESC LIMIT {}, 2'.format(limit))
  18.     rows = cur.fetchall()
  19.    
  20.     if page_id > all_pages or page_id <= 0:
  21.         return abort(404)
  22.     else:
  23.         next_page = page_id + 1
  24.         prev_page = page_id - 1
  25.         return template('index',
  26.             url=url,
  27.             next_page=next_page,
  28.             prev_page=prev_page,
  29.             rows=rows,
  30.             title='Главная')

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы