Посты с тэгом reusable apps


Flask-Script или улучшенный manage.py для Flask приложений

Наверное, ни один из моих Django-проектов не обходился без пары-тройки кастомных команд, благо эта возможность была одним из столбов архитектуры Django-проекта. Да, написание кода для этих кастомных команд иногда заставляло схватываться за голову и вопрошать: "Why so hard?", но сегодня я не про это.

А про расширение Flask-Script, которое добавляет схожий функционал уже в Flask-приложения и проекты. Думаю, про это расширения многие наслышаны, но до недавнего времени использовать его было очень затруднительно из-за того, что автор на какое-то время ушел от дел и форки приложения добавляющие и правящие одну или две неточности появлялись как грибы после дождя. Но, хвала высшим силам, в прошлом месяце Шон Линч решил покончить с беспределом и выпустил версию 0.4.0, которая просто не оставляет нам оправданий на вопрос, почему до сих пор Flask-Script не добавлен в список зависимостей нашего проекта.

Использовать расширение



Наконец-то, django-discover-runner от Янниса Лейдла

Эта была долгая история полная костылей, но кажется лед тронулся и совсем скоро и Django'вский дефолтный тест раннер будет иметь поддержку автоматического поиска тестов в проекте и мы наконец забудем про from test_* import * как про страшный сон.

Само решение и соответствующий тикет появились довольно давно, а вчера Яннис Лейдл (jezdez, один из Django core-team) оформил решение как отдельный пакет, назвав его django-discover-runner. Шаг в верную сторону, но для меня до сих пор не понятно, почему это очевидное изменение не было сделано сразу после включения unittest2 в проект.



Flask-Dropbox

За что нравится Flask, так это за его концепцию reusable apps. По сравнению с Django на создание по настоящему реюзабельного приложения уходит КУДА меньше времени.

Вот, например, вчера вечером захотелось поиграться с Dropbox API, а сегодня уже готов Flask-Dropbox :) Причем готов с тестовым проектом, который позволит вам загружать файлы в Dropbox, просматривать их и удалять.

Пример использования как всегда прост и неказист: импортируем главный класс и блюпринт, инициализируем их, регистрируем блюпринт с указанием префикса для урлов:

from flask import Flask
from flask.ext.dropbox import Dropbox, DropboxBlueprint

import settings


app = Flask(__name__)
app.config.from_object(settings)

dropbox = Dropbox(app)
dropbox_blueprint = DropboxBlueprint(dropbox)
app.register_blueprint(dropbox_blueprint, url_prefix='/dropbox')

Единственное на чем следует детально остановится - это настройк



Давайте просто поищем!

Как Вы, наверное, знаете поиск и Django - понятия весьма и весьма родные. Каких только приложений не написали для этих целей: и djapian, и и solango, и даже haystack. И это все хорошо, и замечательно, но что делать если нужен простой, совсем простой, поиск по сайту без использования дополнительных поисковых движков? Ответ прост: писать свой очередной велосипед. Что я с удовольствием и сделал!

Итак, знакомтесь: kikola.contrib.basicsearch - приложение для легковесного поиска по любым моделям в вашем проекте.

Для того, чтобы быстро и ясно понять, что оно умеет и как оно работает, предлогаю следующую задачу: в проекте используются стандартная джанговская модель



django-mediafiles 0.2

Сегодня оффициально вышел первый публичный релиз моего проекта, под названием django-mediafiles.

О чем этот проект уже практически понятно из его названия, а чтобы рассеять последние ваши сомнения, посвечу скриншотами того, что он умеет:

Главная страница

Создание новой директории или файла, загрузка файла на сервер



Django Forum - это реально

Конечно, я знаю, что для Django есть десятки прототипов решений форума, начиная от Cicero и заканчивая Snapboard и Mighty Board. Но не с одним из этих прототипов мне не удалось подружиться быстро и безболезненно. Всегда надо было предпринимать какие-то лишние телодвижения, связанные с пониманием идеологии того или иного форума.

И вот вчера, когда я еще раз просматривал списки доступных решений я наткнулся на статью ForumAppsComparsion в Django Code Wiki. Присмотрелся я к табличке и понял, что не имел дело всего лишь с django-threadedcomments и Django Forum. Благо и одно и второе приложение содержало демо-версии и я решил остановится на них п



Расширение функционала django-admin.py и django-manage.py с помощью django-command-extensions

Вообще, утилиты командной строки django-admin.py и django-manage.py обладают кучей полезных и крайне юзабельных функций (dbshell, runserver, shell и тп), но иногда и их бывает недостаточно.

И именно тогда на помощь приходит django-command-extensions! Это приложение расширяет стандартные возможности утилит Django и теперь вы можете:

  • Создавать скелет приложения по своему шаблону (create_app)
  • Создавать скелет для своей комманды (create_command)
  • Быстро добавлять суперпользователя в базу данных (create_superuser)
  • Быстро создать форму для необходимой модели (describe_form)
  • Создать базу контактов пользователей вашего проекта (export_email)
  • Сгенерировать SECRET_KEY для настроек проекта (generate_secret_key)
  • Создать граф, показывающий связь межд