Online video hd

Смотреть русский видео

Официальный сайт panajotov 24/7/365

Смотреть видео бесплатно

06.01.11 17:37 Elvis

PythonСкелет для Django с поддержкой HAML, SASS и Coffee-Script

В Ruby сообществе давно модно использовать альтернативный синтаксис для основных языков веб-разработки: HTML, CSS и JavaScript.
  • Для HTML документов используется синтаксис HAML.

  • Для CSS используются LESS, SASS или CleverCSS. Из них SASS самый продвинутый, к и так огромной куче возможностей можно добавить фреймворк Compass, который содержит много полезных функций, миксинов и имеет поддержку популярного CSS фреймворка BluePrint.

  • Вместо JavaScript люди пишут скрипты на CoffeeScript - альтернативном синтаксисе яваскрипта. CoffeeScript похож по синтаксису на Python и имеет много заимствований "синтаксического сахара" из Ruby и Python.

К сожалению, о том, как организовать поддержку этих технологий в Django-проектах практически не пишут. Я попытался реализовать поддержку сразу трех технологий в одном проекте и столкнулся с ошибками. После нескольких часов копаний в коде я исправил ошибку в webassets (основная библиотека для поддержки этих технологий) и добавил некоторые функции в hamlish (к сожалению после этого он стал зависим от Django, поэтому я не стал его форкать, а сохранил прям в проекте).

Итак, встречайте - django-hsc-skel!
Основа для Django-проектов с поддержкой HAML, SASS (+Compass) и Coffee-Script]
Инструкция по установке подробно описана в файле INSTALL.rst

Дополнительные "полезности" в проекте:
  • настроена система логгирования в файл. Пользуйтесь командой tail -f logs/django.log - очень удобно!

  • новые приложения можно создавать в папке apps. В settings необходимые настройки для этого имеются

  • сами settings сделаны в виде папки. settings, специфичные для окружения разработки пишите в local.py, а для продакшена - в production.py. Что бы "включить" те или иные настройки, создате символическую ссылку current.py на файл local.py или production.py

Некоторые особенности:
  • webassets пришлось поправить и форкнуть. Патч автору отправил, но пока в зависимостях указан мой форк.

  • hamlish включен в проект в виде отдельного файла в папке libs

Ссылка на проект: https://bitbucket.org/traditio/django-hsc-skel

Буду рад услышать ваши комментарии!



razum2um 06.01.11 19:12 # +1
чегота не вкурил с разбегу во @wraps
зачем оно?
Elvis 06.01.11 19:39 # +0
Не знаю. Этот декоратор выдран c django-annoying со всем кодом и в том числе @wraps. Я изменил только импорт render_to_response.
Есть и намного лучше способ изменить декоратор django-annoying для работы с Jinja (способ подсмотрел в coffin), но не было времени. Поэтому просто copy-paste с изменением одной строчки.
razum2um 06.01.11 19:17 # +3
мда и еще это..
ваше hsc-skel у меня упрямо читается как haskell
kstep 06.01.11 23:48 # +1
Узнал из этого поста про Coffee-Script. Почитал — прифигел. Классная штука, сразу руки зачесались её пощупать.
Elvis 07.01.11 08:59 # +0
Пробуйте!
Некоторые либы для Node.JS написаны на coffee-script. Мои коллеги и я сам полностью перешли на coffe-script. Этот язык вполне применим в продакшне и в нем излишней многословности и раздражающих скобочек, как в яваскрипте.
Denchik 07.01.11 00:02 # +0
краткость синтаксиса выглядит красиво на главной странице , жаль JS я не знаю
Denchik 07.01.11 00:20 # +-1
А вы не могли бы что-то для совсем чайников написать по Djangо , типа быстрый старт на каком-то простом примере . Я учу по чуть-чуть , но не сильно понимаю как например грамотно в IDE работать , как html и js использовать ...

понимаю что вопрос обо всем и ни о чем , но все же ...
Elvis 07.01.11 09:07 # +1
Для чайников и так много материала.
Я начинал с http://djbook.ru/
Потом основным спутником становится сайт http://docs.djangoproject.com/ (если не знаете английский, то учите, в программировании без английского делать нечего)
Если плохо знаете Python, прочитайте учебник от создателя языка - http://www.python.ru/files/book-ods.pdf , первые 2 части, 187 страниц. Стандартные функции Python'а следует знать назубок (генераторы списков, списковые выражения, магические функции и функции самого языка, такие как all, и пр.)
В качестве IDE однозначно PyCharm. Платная, но есть ознакомительный период в 30 дней.
Научитесь пользоваться virtualenvwrapper.project - облегчит жизнь.
И придумайте себе какой-нибудь "стартап" и начните воплощать его в жизнь, реализуя в нем свои идеи и новые полученные знания.
bosha 07.01.11 09:54 # +0
Я бы не стал советовать PyCharm. Он такой, такой PyCharm в общем =)

Для vim'а есть всё необходимое для комфортного написания кода на django.
Elvis 07.01.11 09:57 # +0
Я думаю что посоветовать "чайнику" Vim в качестве IDE - это очень плохая идея. Как и Emacs впрочем.
А PyCharm очень дружелюбный, в нем столько возможностей, сколько нет ни в одном другом редакторе!
bosha 07.01.11 17:20 # +0
PyCharm может отбить всё желание писать код своей монстроузностью и глючностью. У меня во всяком случае так и было. Java же..
Elvis 07.01.11 17:23 # +0
Все свои проекты я пишу в PyCharm.
Могу заверить, что он не монстроузный и совсем не глючный.
Не надо холиваров, какой редактор лучше, все они хорошие.
Но для новичка PyCharm лучше, чем Vim, и это не оспоришь.
bosha 07.01.11 18:03 # +2
Не совсем правильно выразился. Скорее нужно минимум 2 ядра и 2 гига чтобы работа с PyCharm была комфортной.

Кстати о сложности. Vim не сложный, просто надо сесть и изучить его. Он элементарный. vimtutor в зубы и пошёл. Через полчаса уже можно вполне комфортно писать код. Его изучение не сложнее чем задачи которые человеку предстоит решать реализуя свои проекты.

lol2Fast4U 07.01.11 20:19 # +0
Java == выглядит ужасно на всех платформах.
Для новичка лучше Textmate (Mac OS X) или gedit (Linux).
lol2Fast4U 07.01.11 20:25 # +0
Чайник в питоне - не обязательно чайник вообще везде, может он на других языках программировал в Emacs.
lol2Fast4U 07.01.11 20:24 # +1
Мой старый пост: http://blog.myfreeweb.ru/post/howto_write_django_blog_engine/ :-)

Конечно, плохо там я сделал с шаблонами (один для списка и страницы поста)... ну ладно, не это важно.
bosha 07.01.11 09:58 # +0
Хмм. Спасибо за наводку на CoffeScript. Жаль раньше на него не наткнулся, сейчас уже знаком с jquery и не вижу надобности в изучение CoffeScript =)
Elvis 07.01.11 10:00 # +0
Не смешивайте JQuery и coffee-script :) Одно другому не мешает.
Например:
1
2
$(document).ready () ->
    alert('Hello, world!')

- это coffee-script испольщующий JQuery.
bosha 07.01.11 17:20 # +0
Я не совсем то имел в виду. Просто jquery по сути итак обёртка над javascript (удобная должен сказать обёртка), а тут ещё одна..
lol2Fast4U 07.01.11 20:16 # +0
Фреймворк и язык, компилирующийся в JavaScript - разные совсем вещи.
bosha 07.01.11 21:42 # +0
Да блин. Я не о том. Проехали в общем.
nvbn 07.01.11 17:22 # +0
Проще просто SASS прикрутить, а от coffee-script и haml больше вреда, чем пользы
Elvis 07.01.11 17:24 # +0
Не согласен, что больше вреда чем пользы.
lol2Fast4U 07.01.11 20:25 # +0
Какой вред от CoffeeScript? o_O
nvbn 09.01.11 16:42 # +0
Если использовать нестандартные либы, то выльется в геморой, наверное)
lol2Fast4U 07.01.11 20:15 # +0
Это я в webassets добавил CoffeeScript :-)
https://github.com/miracle2k/webassets/commit/66f1fdab4c6735396d031bba20342329e30984cb

Лучшие блоги (все 162)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 3344 из 237 городов)
Топ пользователей Топ блогов

Новенькие: kiper, ademaro, kolofut, alivagab, satana1
welinux.ru

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн