![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Web.Запой/Записи в блоге |
![]() |
|
[django-cms] Выбрал для себя CMS систему на Django
2012-05-13 21:20:00 (читать в оригинале)Довольно часто нам приходится делать небольшие сайты, такие как:
- Корпоративные сайты-визитки (представительство компании в интернете)
- Сайты-визитки (для физ. лиц, музыкантов, различных деятелей и т. п.)
- Промо-сайты (сайты для продвижения фильмов, концертов и т. п.)
- Сайты-блоги
и так далее.
В общем, все эти сайты объединяет то, что все они имеют стандартный набор функций. Например: новостная и twitter ленты, статьи, галереи картинок и т. д. И конечно же, в них должна быть возможность добавления/изменения контента владельцами этих сайтов.
Писать всю эту, хоть и простую, функциональность каждый раз — утомительно. Вот и пришла пора посмотреть в сторону CMS систем на базе Django. Выбор не очень велик. Лично я выбрал django-cms, хотя с самого начала посматривал в сторону mezzanine. Но полистав документацию и развернув тестовый пример, я окончательно сделал выбор в пользу django-cms.

Минимум зависимостей. Быстрая установка. Все необходимые компоненты уже имеются из коробки. По поводу компонентов:
- Хлебные крошки (Breadcrumbs)
- Меню
- Управление контентом (страницами)
- Система плагинов для добавления на страницу (Встроенные: Google map, snippet, изображение, ссылка, текст, файл и т. д.)
- Мультиязычность (очень удобно реализована)
- Встроенный wysiwyg редактор. Поддерживает TinyMCE.
С django-cms, в большинстве случаев, мы просто получаем от дизайнера макет и «натягиваем» его на сайт. Все. Остальное уже есть.
PS: Обнаружилась ошибка вроде: «Negative indexing is not supported». Время от времени она появляется в админке при заходе в Pages. Эта проблема с одной из зависимостей (django-mptt). Лечится установкой версии 0.5.1 вместо 0.5.2.
Сайт Emigrantscafe.ru - спущен на воду
2012-04-30 20:13:00 (читать в оригинале)Не так давно, я все-таки открыл сайт http://emigrantscafe.ru для общего пользования. Без неприятных оказий не обошлось конечно, но тем не менее, сайт теперь публично доступен.
В первые же дни я получил несколько критических отзывов в разделе "описания стран". Из-за чего пришлось отдавать их на доработку редакторам. Не думаю что это быстрый процесс. Остается только ждать. Что касается посещений, пока не пройдет первый АП, говорить о пользователях пришедших с поисковиков, не приходится. :) Придется перебиваться другими источниками.
Больше пока что ничего не скажу, не потому что нечего, а потому что время еще не пришло, ИМХО.
Итак, в сухом остатке. Мы имеем новый сайт http://emigrantscafe.ru, который рассчитан стать очень полезным помощником для людей жаждущих уехать в другую страну, чтобы:
PS: Получилось как-то скучновато, но я и этому очень рад. Позади огромное количество рутиной работы. Впереди надеюсь, одни ++++'ы.
PPS: Кстати срочно нужны авторы или люды которым есть что сказать по этой или смежным темам, а именно:
Ну вот и все на сегодня. Увидимся на http://emigrantscafe.ru.
На этом хочу отклани..............
В первые же дни я получил несколько критических отзывов в разделе "описания стран". Из-за чего пришлось отдавать их на доработку редакторам. Не думаю что это быстрый процесс. Остается только ждать. Что касается посещений, пока не пройдет первый АП, говорить о пользователях пришедших с поисковиков, не приходится. :) Придется перебиваться другими источниками.
Больше пока что ничего не скажу, не потому что нечего, а потому что время еще не пришло, ИМХО.
Итак, в сухом остатке. Мы имеем новый сайт http://emigrantscafe.ru, который рассчитан стать очень полезным помощником для людей жаждущих уехать в другую страну, чтобы:
- Отдыхать
- Учится
- Работать
- Заниматься бизнесом
- Уехать жить в конце концов (Эмигрировать)
PS: Получилось как-то скучновато, но я и этому очень рад. Позади огромное количество рутиной работы. Впереди надеюсь, одни ++++'ы.
PPS: Кстати срочно нужны авторы или люды которым есть что сказать по этой или смежным темам, а именно:
- бывалые и будущие эмигранты
- турагентства
- компании занимающиеся обучению иностранным языкам
- компании помогающие людям в эмиграции и т. д.
Ну вот и все на сегодня. Увидимся на http://emigrantscafe.ru.
На этом хочу отклани..............
Сырой Blogger клиент. И на старуху бывает...
2012-04-12 15:28:00 (читать в оригинале)Мобильный Blogger на андройде - просто потрясающее приложение. Потрясающее от слова ПОТРЯСАТЬ, ТРЯСТИ. Честно говоря, перед тем как начать на нем что то делать, я должен был заранее насторожиться, т. к. при открытии написанных ранее статей мобильный Blogger открывал их без какого-либо форматирования, а в виде простого HTML кода, т.е. исправлять уже написанные посты это сущий ад. "Забив" на это я все же принял решение пользоваться им. И начал потихонечку набивать статью которую планировал давно, а именно статью "о переходе на TDD". Опережая событие скажу, что статья теперь выйдет не скоро. :)

В общем, я начал писать ту статью примерно неделю назад. И день за днем по чуть-чуть дописывал ее, добавляя все новые и новые мысли. Набивал с помощью мобильного Blogger приложения, так как телефон всегда под рукой, а всякие умные мысли приходят зачастую - внезапно. ;) Ну и вот, сегодня открываю я значит, через мобильный Blogger, черновик этой статьи для того чтобы внести еще пару-тройку предложений, как вдруг вместо текста отображаются: "крякозябры".

Скриншот не сделал, забыл. На нервной почве я не стал разбираться и удалил ее - ко всем чертям. Особенно конечно бесит то, что это официальный клиент Blogger for android, а не какое-то поделие неизвестного разработчика. Короче, для мобильного блоггинга придется ждать исправления приложения либо искать что-то другое.

В общем, я начал писать ту статью примерно неделю назад. И день за днем по чуть-чуть дописывал ее, добавляя все новые и новые мысли. Набивал с помощью мобильного Blogger приложения, так как телефон всегда под рукой, а всякие умные мысли приходят зачастую - внезапно. ;) Ну и вот, сегодня открываю я значит, через мобильный Blogger, черновик этой статьи для того чтобы внести еще пару-тройку предложений, как вдруг вместо текста отображаются: "крякозябры".

Скриншот не сделал, забыл. На нервной почве я не стал разбираться и удалил ее - ко всем чертям. Особенно конечно бесит то, что это официальный клиент Blogger for android, а не какое-то поделие неизвестного разработчика. Короче, для мобильного блоггинга придется ждать исправления приложения либо искать что-то другое.
[E-COMMERCE] Первая установка django-lfs - преодолеваем преграды
2012-04-07 23:05:00 (читать в оригинале)ВВЕДЕНИЕ
Как то раз мне понадобилось готовое e-commerce решение для интернет магазина (не люблю велосипеды) конкретно под django. Не хотел использовать старые, хоть и проверенные годами PHP'шные CMS решения, потому что мне нужна была возможность всячески дорабатывать его в будущем, а PHP вообще не мой конёк. :)
Так вот причина написания статьи в том, что если следовать инструкциям по установке django-lfs, так как это описано в официальной документации, то установить этот пакет не удастся. И для того чтобы люди, которые планируют в будущем опробовать django-lfs, не собирали одни и те же грабли я решил написать эту статью, где опишу основные проблемы. Хотя в одну статью, мне, похоже не уложиться.

ПОЧЕМУ DJANGO-LFS?
Обзор решений по электронной коммерции для Django это тема для отдельной статьи и здесь я ограничусь лишь перечислением наиболее популярных из пакетов.
У “джангистов” выбор более чем скромный:
1. Satchmo (пример)
2. django-lfs (пример)
3. Satchless (в активной разработке)
4. django-shop (сделан упор на плагины)
Я поставил django-lfs на второе место, так как satchmo считается все-же более зрелым и функциональным продуктом. Но я таки выбрал lightning fast shop (LFS). Почему? Отвечаю. Не я первый и не я последний говорю, что satchmo слишком “толстый”. Когда я это говорю, я имею ввиду что satchmo это огромная куча кода, причём не самого лучшего качества. Он тяжёлый и местами глючный. А когда ты пытаешься залезть в него и понять в чем там дело, то попадаешь в моря и океаны костылей, заплаток, временных решений с пометкой в стиле TODO: когда-нибудь. Кто видел, тот знает.
На проекте satchless, который как раз и создавался ему в противовес, и отмечают эту серьезную проблему. А LFS хоть и имеет версию 0.7, на мой взгляд, достаточно “отполирован” и уже может быть использован в коммерческих проектах хоть и с осторожностью.
Ну и конечно же, есть и еще некоторые, но совсем уж “скромные” решения для интернет-магазино-строения - но их я рассматривать не буду.
Ладно, начинаем устанавливать django-lfs.
ТРЕБОВАНИЯ
Для того что бы все о чем мы говорим заработало, мы уже должны иметь:
ВНИМАНИЕ: Если поискать по просторам интернета по запросам в стиле «django-lfs не устанавливается», ссылка, и т. п., то можно встретить одну достаточно распространённую проблему. Одна из зависимостей django-lfs не устанавливается выдавая ошибки в стиле:
Так проявляет себя одна из зависимостей. А именно Pillow. Она не хочет устанавливаться, словно просит бубна :) Решается эта проблема просто. Нужно установить python-dev. В моем случае нужно набрать следующую команду:
УСТАНОВКА
С самого начала создаем виртуальное окружение, указав что не нужно использовать глобальные пакеты:
Далее заходим в директорию, которую для нас создал virtualenv и активируем окружение:
$ cd mylfs
$ source bin/activate
Далее. Вместо того чтобы продолжить установку и действовать по инструкции указанной в документации к django-lfs мы должны кое-что доустановить. То о чем пойдет речь, в документации django-lfs — не указано.
А собственно проблема в следующем. Речь пойдет о файлах изображений, которые мы будем закачивать в наш будущий магазин. Проблема в том, что по умолчанию наш магазин не воспринимает файлы рисунков в формате JPEG. Да-да, вы пытаетесь в качестве изображения какого-нибудь товара загрузить картинку.JPG и ничего из этого не выходит. Как бы это абсурдно не звучало, но это так. Чтобы преодолеть это странное ограничение достаточно заглянуть в документации Pillow. Я уже это сделал за вас, поэтому просто наберите в терминале:
$ sudo apt-get install libjpeg62-dev zlib1g-dev libfreetype6-dev

УСТАНОВКА2
И вот теперь уже можем приступать к пунктам указанным в документации к django-lfs. Можем действовать прямо по списку. Коротко на русском:
ИТОГ
Вообще-то конечно это не все косяки которые можно встретить в django-lfs, например, хоть и присутствует русская локализация местами все же встречаются перлы вроде перевода слова E-mail, который в принципе можно не переводить, переведён как “Электропочта” и т. д. Ближайшее время я напишу разработчику (Kai Diefenbach) об этом или сделаю pull request. В целом хочу сказать что этот пакет наиболее достойное open source решение для интернет-магазина из того что мы вообще имеем на данный момент. И судя по динамике commit’ов на bitbucket (https://bitbucket.org/diefenbach/django-lfs/overview) проект активно развивается и цветет. Вот. Остальное отпишу в следующий раз.
PS: Кстати. Я вспомнил чем ещё была навеяна эта статья. На одном из фрилансерских сайтов, работодатель жаловался на исполнителя что тот по договору должен был внести изменения на сайт, который работал под django-lfs. На что исполнитель ответил, что он не смог просто-напросто его даже установить у себя на локальной машине, хотя он оставил заявку и выиграл тендер на этот проект. Наверно ему бы эта статья не помешала. Ссылку искать лень, но если найду то добавлю в пост.
Как то раз мне понадобилось готовое e-commerce решение для интернет магазина (не люблю велосипеды) конкретно под django. Не хотел использовать старые, хоть и проверенные годами PHP'шные CMS решения, потому что мне нужна была возможность всячески дорабатывать его в будущем, а PHP вообще не мой конёк. :)
Так вот причина написания статьи в том, что если следовать инструкциям по установке django-lfs, так как это описано в официальной документации, то установить этот пакет не удастся. И для того чтобы люди, которые планируют в будущем опробовать django-lfs, не собирали одни и те же грабли я решил написать эту статью, где опишу основные проблемы. Хотя в одну статью, мне, похоже не уложиться.

ПОЧЕМУ DJANGO-LFS?
Обзор решений по электронной коммерции для Django это тема для отдельной статьи и здесь я ограничусь лишь перечислением наиболее популярных из пакетов.
У “джангистов” выбор более чем скромный:
1. Satchmo (пример)
2. django-lfs (пример)
3. Satchless (в активной разработке)
4. django-shop (сделан упор на плагины)
Я поставил django-lfs на второе место, так как satchmo считается все-же более зрелым и функциональным продуктом. Но я таки выбрал lightning fast shop (LFS). Почему? Отвечаю. Не я первый и не я последний говорю, что satchmo слишком “толстый”. Когда я это говорю, я имею ввиду что satchmo это огромная куча кода, причём не самого лучшего качества. Он тяжёлый и местами глючный. А когда ты пытаешься залезть в него и понять в чем там дело, то попадаешь в моря и океаны костылей, заплаток, временных решений с пометкой в стиле TODO: когда-нибудь. Кто видел, тот знает.
На проекте satchless, который как раз и создавался ему в противовес, и отмечают эту серьезную проблему. А LFS хоть и имеет версию 0.7, на мой взгляд, достаточно “отполирован” и уже может быть использован в коммерческих проектах хоть и с осторожностью.
Ну и конечно же, есть и еще некоторые, но совсем уж “скромные” решения для интернет-магазино-строения - но их я рассматривать не буду.
Ладно, начинаем устанавливать django-lfs.
ТРЕБОВАНИЯ
Для того что бы все о чем мы говорим заработало, мы уже должны иметь:
- virtualenv
- setuptools
- python 2.6 или 2.7
ВНИМАНИЕ: Если поискать по просторам интернета по запросам в стиле «django-lfs не устанавливается», ссылка, и т. п., то можно встретить одну достаточно распространённую проблему. Одна из зависимостей django-lfs не устанавливается выдавая ошибки в стиле:
_imaging.c:75:20: fatal error: Python.h: No such file or directory
Setup script exited with error: command 'gcc' failed with exit status 1
Так проявляет себя одна из зависимостей. А именно Pillow. Она не хочет устанавливаться, словно просит бубна :) Решается эта проблема просто. Нужно установить python-dev. В моем случае нужно набрать следующую команду:
$ sudo apt-get install python2.7-dev
УСТАНОВКА
С самого начала создаем виртуальное окружение, указав что не нужно использовать глобальные пакеты:
$ virtualenv mylfs --no-site-packages
Далее заходим в директорию, которую для нас создал virtualenv и активируем окружение:
$ cd mylfs
$ source bin/activate
Далее. Вместо того чтобы продолжить установку и действовать по инструкции указанной в документации к django-lfs мы должны кое-что доустановить. То о чем пойдет речь, в документации django-lfs — не указано.
А собственно проблема в следующем. Речь пойдет о файлах изображений, которые мы будем закачивать в наш будущий магазин. Проблема в том, что по умолчанию наш магазин не воспринимает файлы рисунков в формате JPEG. Да-да, вы пытаетесь в качестве изображения какого-нибудь товара загрузить картинку.JPG и ничего из этого не выходит. Как бы это абсурдно не звучало, но это так. Чтобы преодолеть это странное ограничение достаточно заглянуть в документации Pillow. Я уже это сделал за вас, поэтому просто наберите в терминале:
$ sudo apt-get install libjpeg62-dev zlib1g-dev libfreetype6-dev

УСТАНОВКА2
И вот теперь уже можем приступать к пунктам указанным в документации к django-lfs. Можем действовать прямо по списку. Коротко на русском:
- Выкачиваем файл django-lfs installer отсюда: http://pypi.python.org/pypi/django-lfs
- Распаковываем: $ tar xzf django-lfs-installer-<version>.tar.gz
- Переходим в созданную директорию: $ cd lfs-installer
- Запускаем: $ python bootstrap.py
- Запускаем: $ bin/buildout -v
- В файле settings укажите базу данных в lfs_project/settings.py
- Запускаем: $ bin/django syncdb
- Запускаем: $ bin/django lfs_init
- Запускаем: $ bin/django collectstatic
- Запускаем: $ bin/django runserver
- Смотрим результат как обычно: http://localhost:8000/
ИТОГ
Вообще-то конечно это не все косяки которые можно встретить в django-lfs, например, хоть и присутствует русская локализация местами все же встречаются перлы вроде перевода слова E-mail, который в принципе можно не переводить, переведён как “Электропочта” и т. д. Ближайшее время я напишу разработчику (Kai Diefenbach) об этом или сделаю pull request. В целом хочу сказать что этот пакет наиболее достойное open source решение для интернет-магазина из того что мы вообще имеем на данный момент. И судя по динамике commit’ов на bitbucket (https://bitbucket.org/diefenbach/django-lfs/overview) проект активно развивается и цветет. Вот. Остальное отпишу в следующий раз.
PS: Кстати. Я вспомнил чем ещё была навеяна эта статья. На одном из фрилансерских сайтов, работодатель жаловался на исполнителя что тот по договору должен был внести изменения на сайт, который работал под django-lfs. На что исполнитель ответил, что он не смог просто-напросто его даже установить у себя на локальной машине, хотя он оставил заявку и выиграл тендер на этот проект. Наверно ему бы эта статья не помешала. Ссылку искать лень, но если найду то добавлю в пост.
В ожидании Django 1.4
2012-02-25 10:29:00 (читать в оригинале)Новость не нова. Еще 15 февраля, на официальном сайте проекта Django была опубликована новость о том что вышла долгожданная версия Django 1.4 Beta. Как и всегда на сайте предупреждают что это версия не для Production и использовать ее в реальных проектах не рекомендуется.
TOP 5 фишек новой версии, которые лично я очень жду:
Откровенно говоря в Django 1.4 много хорошего, но по "мелочи". Революционных нововведений, на мой взгляд, нет. Может и к лучшему. В конце концов это не Django 2.0 а всего лишь 1.4 :).
Лично я, если буду (когда выйдет релиз) все же использовать его, то только в новых проектах. Если прочесть пресс релиз (а он еще не окончательный, Beta же) там есть и некоторые несовместимости с предидущими версиями Django. Да и вообще рисковать уже работающими сайтами ради повышения версии 1.3 > 1.4 не намерен. Хотя каюсь. Я до сих пор не перешёл с Django 1.3 на 1.3.1. А должен был. Ведь это тот релиз где исправлено и закрыто очень много потенциальных уязвимостей в безопасности.
PS: В ближайшее время займусь этим.
PPS: Слетел аватар в blogger.com. Я думаю что без меня здесь не обошлось. На днях купил Андройдофон и вовремя синхронизации тот добавил мне в галерею(прямо в телефон) мой аватар. Ну я подумав(вернее не подумав): "Ну зачем мне эти изображения в моем телефоне" и удалил их. И вдруг, ВНЕЗАПНО, у меня исчез аватар из блога. Между этими событиями, явно, прослеживается какая-то связь :)))
PPPS: Кстати, мой твиттер http://twitter.com/RafRafTweets
TOP 5 фишек новой версии, которые лично я очень жду:
- bulk_create - более быстрый способ создания множества объектов более эффективным образом (Часто даже одним запросом). Очень полезная штука когда нужно создать сразу много объектов "одним махом".
- reverse_lazy - как и любая "lazy" функция она выполняется до загрузки определённого модуля. В данном случае ф-ция возвращает нужный URL до загрузки URLConf.
- Translateing URL patterns - появился новый хелпер: i18n_patterns(). Значительно упрощена работа с несколькими языками на сайте. i18n_patterns добавляет языковой префикс к url'у. На офф сайте есть прекрасный пример: i18n_patterns()
- SingleObjectMixin - теперь к нему добавлены еще два аттрибута: pk_url_kwarg и slug_url_kwarg. Эти аттрибуты расширят возможности кастамизаци в generic class-based views. Откровенно говоря, что мешало добавить это со дня появления GCBV (v 1.3), не понятно. +1 в копилку GCBV.
- *args и **kwargs для тегов - ну наконец-то. Появилась та-ки возможность использования в шаблонных тегах *args и **kwargs. Теги теперь еще больше похоже на Python функции. Я уж думал не доживу :)
Откровенно говоря в Django 1.4 много хорошего, но по "мелочи". Революционных нововведений, на мой взгляд, нет. Может и к лучшему. В конце концов это не Django 2.0 а всего лишь 1.4 :).
Лично я, если буду (когда выйдет релиз) все же использовать его, то только в новых проектах. Если прочесть пресс релиз (а он еще не окончательный, Beta же) там есть и некоторые несовместимости с предидущими версиями Django. Да и вообще рисковать уже работающими сайтами ради повышения версии 1.3 > 1.4 не намерен. Хотя каюсь. Я до сих пор не перешёл с Django 1.3 на 1.3.1. А должен был. Ведь это тот релиз где исправлено и закрыто очень много потенциальных уязвимостей в безопасности.
PS: В ближайшее время займусь этим.
PPS: Слетел аватар в blogger.com. Я думаю что без меня здесь не обошлось. На днях купил Андройдофон и вовремя синхронизации тот добавил мне в галерею(прямо в телефон) мой аватар. Ну я подумав(вернее не подумав): "Ну зачем мне эти изображения в моем телефоне" и удалил их. И вдруг, ВНЕЗАПНО, у меня исчез аватар из блога. Между этими событиями, явно, прослеживается какая-то связь :)))
PPPS: Кстати, мой твиттер http://twitter.com/RafRafTweets



Категория «Новости»
Взлеты Топ 5
![]() | ||
+903 |
934 |
Блог о подарках и праздниках |
+883 |
955 |
Kitten |
+876 |
942 |
And_So_On |
+846 |
1007 |
Уголок народного трейдера |
+814 |
958 |
ank |
Падения Топ 5
![]() | ||
-1 |
4 |
Equillibrium |
-1 |
255 |
Главная |
-2 |
15 |
Elephant_Talk |
-6 |
771 |
Сибдепо / Блоги |
-6 |
5 |
lqp |

Популярные за сутки
Загрузка...

BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.