• Какие сделать настройки MongoDB для интернет магазина?

    rework
    @rework
    Помог ответ? В благодарность отметь его решением
    Делал на MongoDB много проектов, включая интернет-магазины, причём держал на одном VPS сервере с несколько десятков таких проектов одновременно. У некоторых из них была посещаемость по ~500 уников в день, никаких особых настроек относительно дефолтной конфигурации не производил и сервер вполне справлялся с таким объёмом.
    Ответ написан
    3 комментария
  • Какие сделать настройки MongoDB для интернет магазина?

    @lega
    Запускайте без изменения настроек, dev режима нет, есть опции для отладки в случае проблем.
    Ответ написан
    Комментировать
  • Как выбрать поля из базы для создания меню сайта без ненужных столбцов в Flask-SQLAlchemy?

    @denself
    Не уверен, будет ли работать этот код в обертке с Flask, но в SQLAlchemy это делается как-то так:
    db.session.query(Article.name, Article.url, Article.num).filter_by(onoff=1).all()

    Такая инструкция вернет список кортежей вида:
    [("name1", "url1", "num1"), ("name2", "url2", "num2"), ... ]
    Ответ написан
    1 комментарий
  • Как "прикрутить" простую авторизацию к flask-admin?

    Tark
    @Tark
    Pyramid'альный мир
    Ну... Первое, что приходит в голову, это сохранение данных для входа в переменных.

    def logged_in():
        # в сессии будет храниться информация о том, что пользователь вошёл
        return session.get('logged')
    
    # от этого класса должны наследоваться все классы админки - кроме индекса
    class MyView(BaseView):
        def is_accessible(self):
            return logged_in()
    
        def _handle_view(self, name, **kwargs):
            if not logged_in():
                # делать редирект в некоторых случаях не стоит
                return self.render('admin/login.html')
    
    class AdminIndex(AdminIndexView):
        @expose('/', methods=['GET', 'POST'])
        def index(self):
            if request.method == 'POST':
                frm = request.form.get
                login = frm('login')
                password = frm('pass')            
    
                # проверяете введённые данные...
                if ...
                    session.update({обновляете сессию})
                    session.modified = True
                    return self.render('admin/index.html')
                else:
                    return self.render('admin/login.html',
                                       error=u'Ошиблись паролем?..')
            # уже вошёл, но перешёл на /admin/
            if logged_in():
                return self.render('admin/index.html')
            return self.render('admin/login.html')
    
        # остальные методы класса


    А с чем возникли сложности?
    Ответ написан
    Комментировать
  • Как вызывать фьюшки из темплея?

    Во-первых: пожалуйста, пользуйтесь нормальной терминологией.

    Во-вторых: вызывая шаблон, вы передаёте Jinja2 список переменных, правильно? В этот список можно включить и view-функции, которые вам нужны, и тут же вызывать их в шаблоне. Приблизительно следующим образом.

    env.get_template("my_template.html").render({
        'my_view': my_view,
    })


    <div>{{ my_view() }}</div>
    Ответ написан
    Комментировать