Старт

Старт

Примечание от 01.10.2018
Сайт был переведен на WordPress, статья сохранена для истории.


Как можно заметить это первая запись в блоге. Здесь попытаюсь вкратце рассказать как создавался Pheodor.ru

Писалось все на чистом Django, не считая парочки модулей для админки, о них чуть позже.

Начитавшись много хорошего про сей фреймворк + моя любовь к python’у дали повод заняться его изучением. Но дальше «Hello word!» руки не дошли. Не так давно, когда уже решился делать сайт, я встал перед выбором на чем писать.
Мысли о голом php отходили на последний план. Стал выбирать веб-фреймворк, подходящий под мои цели. Хотелось нечто функциональное, быстрое и красивое, чтобы затем это можно было использовать и в других проектах.
Сначала искал среди php фреймворков. Из них попробовал CodeIgniter и Yii. Некоторое время возился с ними, но все же решил, что это не то, что мне нужно и продолжил поиски. В глубоком чтении обзоров и сравнений, наткнулся снова на Django — понимая что это судьба сделал выбор в его сторону, тем более в какой-то степени я с ним уже знаком.

Вооружившись снова доками джанги, я продолжил его изучение после определенного промежутка бездействия.
В это же время я уже планировал как реализую то, как то, где применю эту фичу, где ту, что позволило снизить время разработки.

 Критерии были таковы:

  • Динамические страницы со своими meta keywords и description
  • Блог с разбитыми на страницы постами, по категориям, тегам, дате
  • Запись имеет категории и теги
  • Древовидные комментарии к записям
  • Ну и конечно удобная админка для управления всем этим

Из перечисленного выполнено все.
1-3 пункты не представляют ничего особого, достаточно разобраться в MVC (MTV) Django и кодинг пойдет как по маслу 🙂

Комментарии

Пришлось повозиться в хорошем смысле слова. Готовые решения вроде django-threadedcomments, который славится своей ресурсоемкостью, не хотелось использовать не столько из-за производительности, сколько из-за желания поизобретать «велосипеды» для более глубокого изучения джанги. Поэтому было принято решения писать свои комментарии.
На самом деле задача простая, если бы не деревья. При реализации использовал Materialized Path. В итоге получилось неплохо.

  Админка

Здесь воспользовался некоторыми дополнительными модулями: filebrowser, grappelli и admin-tools мне бы хватило и одного filebrowser, но он отказывается работать без grappelli, ну а если у нас стоит grappelli, то почему бы его не улучшить с помощью admin-tools? 🙂

  Планируется реализовать:

  • RSS
  • Подсветка кода
  • Интеграция с социальными сетями (twitter, facebook, ЖЖ и т. п.)
  • Пользователи (регистрация, профиль)

На этом пожалуй все.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *