Задать вопрос
  • Как записать в бд дату?

    webus
    @webus
    Golang | Python | NodeJS | Java
    Вы пытаетесь записать строку "2013-01-01", а не дату.
    Для начала, почитайте про тип datetime в python
    Ответ написан
    Комментировать
  • Где обрабатывать исключения в админке Django?

    @alz
    Создать форму для модели, которая будет проверять уникальность комбинации полей и кидать ValidationError, если не уникально
    Ответ написан
    Комментировать
  • Изза чего проблема с русскими буквами в puthon 3.3?

    sevka_fedoroff
    @sevka_fedoroff
    Мне кажется если у вас в начале файла есть вот это:
    # -*- coding: utf-8 -*-
    и сам файл в кодировке UTF-8, то должен работать просто
    print ("<p>Привет МИР!</p>")

    Разве что в код HTML еще добавить такое:
    <head><meta charset='UTF-8'>

    P.S. И попробуйте убрать BOM
    Ответ написан
    1 комментарий
  • Где еще кроме веба используется Python?

    Zubchick
    @Zubchick
    У питона множество хороших библиотек для обработки данных, машинного обучения, линейной алгебры и прочего science. Вакансий на такие дела на хабре наверно не найти, но вообще это довольно популярная тема для питона.
    Ответ написан
    1 комментарий
  • Python: почему в процессе суммирования десятичных в середине интервала появляется ошибка?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вообще-то описанную проблему можно проиллюстрировать проще:
    >>> 0.5+2.7, 0.4+2.8
    (3.2, 3.1999999999999997)

    Это нормальная ситуация для чисел с плавающей точкой. Она связана с тем, что для любой системы счисления (двоичной, десятичной, троичной) есть числа, которые нельзя записать в виде конечной последовательности n-ричных разрядов. Например, в десятичной системе число 1/3 будет выглядеть как бесконечная последовательность троек после запятой. Если мы остановимся, то получим не 1/3 а что-то поменьше. Зато в троичной системе это число замечательно представляется как 0.1. Одна девятая в троичной системе равна 0.01.
    Та же проблема, например, у десятичного числа 0.2 при переводе в двоичную систему:
    2/10==1/5==1/8+1/16+1/128+1/256+1/2048+1/4096+(...)==0,00110011(0011)[в двоичной системе]
    Как видим это периодическое число и двоичные разряды "0011" повторяются в нём после запятой бесконечно.
    Компьютерное представление чисел с плавающей точкой подразумевает их хранение в конечном количестве двоичных разрядов. Это значит, что многие вполне нормально записываемые в десятичной форме дробные числа просто не могут абсолютно точно храниться в компьютере (если речь идёт о floatpoint).

    Имеенно поэтому программистов учат на первом курсе института никогда не сравнивать числа с плавающей точкой на строгие равенство и неравенство. С учетом погрешности из-за округления двоичных разрядов это просто бессмысленно и некорректно.
    Зато, вместо сравнения на равенство, можно сравнивать abs(a-b)<eps, где a и b -- числа в формате с плавающей точкой, а eps -- это некоторая пренебрежительно малая величина. Вообще-то, думаю, можно вычислить даже минимальное значение этой величины, чтобы она покрыла все неприятности с округлением двоичных разрядов.
    Ответ написан
    Комментировать
  • Flask для больших проектов

    igrishaev
    @igrishaev
    Фласк — очень хороший фреймворк, удобный и понятный. Его главное достоинство и минус одновременно — Фласк накладывает гораздо меньше ограничений на разработчика по сравнению с Джанго, например. Поэтому продумывать структуру пакетов и файлов вам придется самостоятельно. Но это не так страшно, понимание приходит уже с первым проектом.

    Крупные проекты на Фласке могут разбиваться на составные части — Блюпринты. Это аналог приложений в Джанго. Блюпринт может иметь свое адресный префикс, свои шаблоны, формы, модели. С помощью них можно постепенно наращивать функциональность проекта.

    Правда, для Фласка меньше документации и готовых решений, но основные из них — SqlAlchemy для БД и WTForms для html-форм — работают очень хорошо, на порядок лучше Джанговских аналогов.
    Ответ написан
    Комментировать
  • Flask для больших проектов

    @realduke
    Ну и добавлю еще, что мнение, что Flask не подходит для больших проектов — заблуждение. Конечно, фразу «большой проект» можно по-разному трактовать, проект может быть с сильно большой кодобазой, а может быть довольно высоконагруженным, может еще какой-то смысл можно вложить, не знаю. В Flask есть лишь одно ограничение, которое нужно учитывать при разработке — это context local objects. Вот именно оно вносит некоторую сложность при наличии большой кодобазы, т.к. несколько объектов, определенных в github.com/mitsuhiko/flask/blob/master/flask/globals.py, являются глобальными, и для их использования их нужно явно импортировать, в результате можно легко выстрелить себе в ногу. Для высоконагруженных проектаов с умеренным объемом кода проекта я не вижу проблем. Связка nginx + gunicorn + приложение может выдерживать нормальные нагрузки даже на одной машине. Если проект сильно большой, то никто не мешает задеплоить несколько фронтэндов и использовать балансировщик.

    Flask — это лишь небольшая обертка над Werkzeug в виде класса, который выступает в роли callable объекта для WSGI, клей для Jinja, API для расширений, ну и несколько вкусняков в виде блюпринтов и сигналов. Кода не много и он легко читается.
    Ответ написан
    1 комментарий
  • Flask для больших проектов

    @realduke
    Непонятно, что конкретно интересует!

    Flask ничем не отличается от других Python фреймворков. Если использовать связку Flask + SQLAlchemy + WTForms, то это считай тот же Django, только без contrib и админки. Изначально нужно быть готовым к самостоятельному созданию организации структуры проекта, т.е. где конфиги положить, где модели, где тесты и т.д. Есть несколько проектов-заготовок, которые это упрощают.

    Несколько ссылок по теме:

    github.com/mitsuhiko/flask/wiki/Large-app-how-to
    github.com/swaroopch/flask-boilerplate
    github.com/semirook/flask-kit
    github.com/imlucas/flask-tool
    github.com/klen/Flask-Foundation

    У Flask сейчас довольно много расширений, проверенные лежать тут flask.pocoo.org/extensions/. Много других можно найти тут crate.io/?has_releases=on&q=flask. Рекомендуется конечно учитывать что некоторые могут быть криво написаны или морально устарели.

    По устройству проектов еще можно поискать готовые приложения. Они есть тут flask.pocoo.org/community/poweredby/, те, которые с исходниками. Еще на гитхабе много чего, можно поискать по импортам, где используется Flask, в простейшем случае так как-то github.com/search?l=Python&q=from+flask&ref=searchresults&type=Repositories.
    Ответ написан
    2 комментария