Рубрика «django» - 21

От переводчика

Как всегда вольный перевод интересной статьи о конкретном подходе к организации кода в django-приложениях. Будет полезна:

  • Тем, кто еще не задумывался о таких вопросах
  • Тем, кто уже имеет собственные взгляды на организацию логики, но не против оценить альтернативные варианты
  • Тем, кто уже использует обсуждаемый подход, для подтверждения своих мыслей
  • Тем, кто уже не использует обсуждаемый подход и имеет аргументы против

Большого количества кода не будет, статья по большей части дискуссионная. Энжой)

image
Читать полностью »

Добрый день, читатель.

Предлагаю статью с реализацией поля форы django типа «вложенная таблица», с хранением данных в XML-формате.
Это поможет интересующимся лучше разобраться с работой поля и виджета django и сделать шаг к созданию любого произвольного поля.
Если вы это и так знаете, то для вас статья может быть не интересной.

Django forms поле — вложенная таблица

Читать полностью »

Вы знали, что google календарь может отправлять СМС напоминания? Скорее всего да. Я сам этим пользуюсь постоянно. А знали ли вы, что с помощью таких напоминаний можно сделать себе СМС оповещения? А вот можно. Эдакий персональный бесплатный СМС гейт. Я об этом когда-то давно читал, но тогда мне это нужно не было. Недавно понадобилось отправлять СМС оповещения от железки аля умный дом и я вспомнил об этом способе. Вспомнил, нашел готовый django модуль, реализующий его, и подключил к своему сайту. Работает! На все у меня ушло где-то пол часа. Но обо всем по порядку.
Читать полностью »

Хотим поделиться радостью: мы только что выпустили PyCharm 3.1. Это — хоть и минорный, но все же наполненный новой функциональностью релиз PyCharm. Как вы знаете, PyCharm начиная с версии 3.0 доступен как в платном варианте PyCharm Professional Edition, так и в бесплатном с открытым исходным кодом — PyCharm Community Edition.

Загрузите PyCharm 3.1 прямо сейчас (и продолжайте читать, пока он загружается).

Новый PyCharm 3.1 теперь поддерживает последние версии Python 3.4 и Django 1.6. Мы не обошли вниманием и поддержку Google App Engine — она заметно улучшена. В PyCharm 3.1 также интегрированы улучшения, сделанные в последнее время в общей для всех наших IDE платформе — IntelliJ.

Что нового?

Поддерживается Python 3.4

image

PyCharm 3.1 поддерживает Python 3.4, включая новые стандартные библиотеки и последние новшества языка. Можно смело переключаться на новый интерпретатор и работать, наслаждаясь новыми фичами Python.
Читать полностью »

Deploy с помощью Salt
До сих пор во многих компаниях deploy создает большие проблемы и может занимать дни, недели и в особо запущенных случаях месяцы. Но ситуация не безнадежна. Существует много инструментов и практик, способных помочь в этом нелегком деле. Вот только эти инструменты чаще всего за один-два дня не освоишь, а сроки горят.

Чего обычно хочется:

  • Возможность поднять проект локально на машине разработчика. Весь или хотя бы частями. Причем очень хочется, чтобы Dev конфигурация отличалась от Prod в минимуме паратемров. Это позволит избежать “work on my machine” багов. Да и вообще, когда один разработчик работает на OS X, другой на Windows, а продакшен на Debian, то жди беды, это не считая того, что каждый делает работу по настройке окружения.
  • Dev конфигурацию хочется разворачивать на любой машине и ОС в пару команд в консоли. Это опять же позволит уменьшить фактор “work on my machine” багов. А еще позволит привлекать других разработчиков в проект за минимальное время (vagrant up и поехали).
  • Конфигурация должна быть понятна и программисту, и админу.

Всего этого мы добьемся на связке Salt + Vagrant на примере Django проекта. Но большинство техник будут полезны разработчикам не только на Python, но на других языках.
Читать полностью »

Доброго времени суток.

Django + Select2 = select autocomplete
В последнее время, я пишу на django.

Возникла необходимость вывода в списках достаточно большого количества опций.
Если оставлять просто поле типа models.ForeignKey со стандартным виджетом (Select, SelectMultiple),
нагружаем и базу данных и сервер приложений.
Давайте попробуем обращатся к этим данным только тогда, когда это нужно.

На просторах интернета, не обнаружил готового решения (чтобы просто установить и это заработало).
Есть наборы комментарий типа «наверное, вам нужно вот то-то» или «вот это»
В связи с этим, решил выложить то, что получилось.

Выкладываю небольшой application под django, содержащий

  • Составные числовые поля и поля с датами
  • TreeWidget для модели, основанной на MPTT
  • Виджет SelectAutocomplete
  • Виджет SelectMultipleAutocomplete

Статья ориентированно на начинающих разработчиков, не успевших «обрасти» библиотеками функций на django.
Думаю, что опытным разработчикам она не будет интересна.
Читать полностью »

Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше?
Читать полностью »

В предыдущей статье мы закончили разговор о профилировании обзором событийных профайлеров.

Сегодня я предлагаю рассмотреть методы отладки программ.

Читать полностью »

Облачные ci: travis ci и drone.io
Всегда приятно иметь статистику о состоянии технической части (кода) проекта, этим занимается coviolations.io. Но для его использования нужно какое-то ci-решение. Не каждому захочется поднимать jenkins/travis/etc на своём сервере, а будет проще прибегнуть к использованию облачных сервисов. Мы рассмотрим два наиболее популярных: travis-ci и drone.io.

Как «жертву» будем использовать обычный django проект — сам coviolations. Для проектов на ror/nodejs/flask/etc всё будет почти аналогично. Как результат мы получим пачку статистики и графиков.
Читать полностью »

Test The Text выделяет стоп-слова в тексте. Стоп-слова делают текст тяжелее, слабее, длиннее.

Стоп-слова делятся на несколько категорий:
— модальные глаголы;
— усиляющие и обобщенные определения и наречия;
— клише и канцеляризмы;
— гиперонимы;
— паразиты времени;
— отглагольные существительные;
— пассивный залог;
— наречия;
— причастные обороты.

Прототип выделял модальные глаголы, используя список «мочь», «долженствовать» и «нуждаться» во всех формах:

    'modal': {
        'can': u"""могу, мог, могла, можешь, может, могло, можем, можете, могли, могут, 
                        смог, смогла, смогли, сможет, можно, нужен""",
        'need': u'нуждаться, нуждается, нужно, нужна, нужны',
        'should': u'должен, должна, должны, должно',
        'other': u'стоит, обязан, следует, необходимо, требуется'
    },

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js