Страсть с пимонго и колбамиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Страсть с пимонго и колбами

Сообщение Anonymous »

Я нашел здесь хороший шаблон для страниц. Однако этот пример был сделан с помощью SQLLITE, но я переписал, чтобы иметь возможность использовать Pimongo. < /p>

import sys
from pymongo import MongoClient

def fill_data(users_no):
for i in range(users_no):
doc = {
'_id': str(i),
'uname': "name_" + str(i),
}
sDB.insert(doc)

if __name__ == '__main__':
db = MongoClient().test
sDB = db.users

fill_data(1000)
< /code>

Я изменил исходный скрипт app.py, чтобы иметь возможность использовать Pymongo. Это модифицированный скрипт: < /p>

#!/usr/bin/env python
#-*- coding: utf-8 -*-

from __future__ import unicode_literals
from flask import Flask, render_template, g, current_app, request
from flask.ext.paginate import Pagination
from pymongo import MongoClient

app = Flask(__name__)
app.config.from_pyfile('app.cfg')

@app.route('/')
def index():
db_name = "test"
col_name = "users"

db = MongoClient()
sDB = db[db_name][col_name]
total = sDB.find().count()
print total
page, per_page, offset = get_page_items()
users = sDB.find().skip(offset).limit(per_page)
for u in users:
print u
pagination = get_pagination(page=page,
per_page=per_page,
total=total,
record_name=users,
)
return render_template('index.html', users=users,
page=page,
per_page=per_page,
pagination=pagination,
)

def get_css_framework():
return current_app.config.get('CSS_FRAMEWORK', 'bootstrap3')

def get_link_size():
return current_app.config.get('LINK_SIZE', 'sm')

def show_single_page_or_not():
return current_app.config.get('SHOW_SINGLE_PAGE', False)

def get_page_items():
page = int(request.args.get('page', 1))
per_page = request.args.get('per_page')
if not per_page:
per_page = current_app.config.get('PER_PAGE', 10)
else:
per_page = int(per_page)

offset = (page - 1) * per_page
return page, per_page, offset

def get_pagination(**kwargs):
kwargs.setdefault('record_name', 'records')
return Pagination(css_framework=get_css_framework(),
link_size=get_link_size(),
show_single_page=show_single_page_or_not(),
**kwargs
)

if __name__ == '__main__':
app.run(debug=True)
< /code>
  • Есть ли способ избежать использования count () < /code>, нажав на следующую или предыдущую страницу на Меню страниц? /p>


Подробнее здесь: https://stackoverflow.com/questions/266 ... -and-flask
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Страсть с пимонго и колбами
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Код Visual Studio, не видя pymongo «ModuleNotFoundError», установил pymongo с помощью pip. Почему он не видит пимонго?
    Anonymous » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Является ли пимонго асинхронным?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • FASTAPI uploadfile медленно по сравнению с колбами
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Тематическое исследование: развертывание приборной панели VOC с бэкэнд с колбами для динамической загрузки CSV и живого
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»