1. komtet

    04.03.2010

    0 ↑
    0 ↓
    Приветствую.
    Небольшой опрос, если позволите.
    Всё больше новичков интересуется Django (и тут у Django больше преимуществ, чем у Zope, а TurboGears и Pylons вообще как то "не идёт").
    Традиционно задаются одни и те же вопросы (хотя ответы есть в разделе по Django: http://www.komtet.ru/info/django ).
    Мысль
    - облегчить ньюбам вход в Django средствами хостинга
    Как помочь
    - настройка оптимальной среды, возможно с уже размещённым проектом
    - возможность автоматической установки проекта по типу простой собранной CMS из панели управления
    - ...
    Заранее спасибо за комментарии.
  2. traditio

    04.03.2010

    0 ↑
    0 ↓
    Весьма радуют подобные опросы. Я бы видел идеальный Django-хостинг следующим образом.

    1. Кнопка в админке хостинга "Создать проект": автоматически создается папка с virtual environment, подготавливаются скрипты для веб-сервера, обслуживающие эту папку, создается ftp-аккаунт. (Я не знаю, может это уже все есть, вашим хостингом не пользовался).

    2. Кнопка "Установить зависимости". Позволяет либо вручную через copy-paste указать зависимости для PIP, либо смотри в файл requirments.txt в каталоге проекта. Соответственно устанавливаются нужные зависимости в требуемый virtual environment.

    4. Юзер загружает по ftp исходники проекта.

    5. Кнопки "Запустить" и "Остановить" проект.

    Вроде больше ничего не надо.
  3. traditio

    04.03.2010

    0 ↑
    0 ↓
    Извиняюсь, что не зареган здесь, но дополнение к предыдущему посту. Неплохо было бы позволить через панель хостинга выполнять команды, прикрученные к manage.py. Нечто вроде виртуальной консоли. Есть конечно SSH, для меня это даже удобней, но думаю некоторым понравится такая возможность. Ну и команды rm, cp, ls, mv, tar в виртуальной консоли тоже должны работать для каталога пользователя.
  4. igorakintev

    04.03.2010

    0 ↑
    0 ↓
    + еще одним кликом добавлять модули к джанге основные...
  5. komtet

    05.03.2010

    0 ↑
    0 ↓

    Спасибо за ответы!

    1. Кнопка в админке хостинга "Создать проект": автоматически создается папка с virtual environment, подготавливаются скрипты для веб-сервера, обслуживающие эту папку, создается ftp-аккаунт.

    Собственно говоря, площадка готовится автоматически, т.е. создаются все папки, выставляются права, к примеру, для Django проектов - private, доступа к которой извне нет (чтобы нельзя было получить доступ к коду) и т.п. Аналогично - и для FTP - отдельная учётка на каждый домен/проект. Это в общем то не относится к конкретике Django, как мне кажется.

    Вот с кнопкой "создать проект"... Мы используем т.н. APS-пакеты, в двух словах - из панели можно выставить дополнительные права, сделать дополнительные настройки, создать СУБД (и заполнить их таблицами и данными), разместить к.л. скрипты. Частное применение - автоматическая установка готовых веб-приложений: Drupal, Joomla, phpBB и т.п. (не только CMS). Этот механизм можно использовать и для подготовки площадки для Django-проектов. Собственно, сам фреймворк то уже устмановлен, так что речь именно о дополнительных действиях при создании проекта. К примеру, можно подготовить "как бы CMS" - и пользователь получит установленную админку Django с к.л. модулями. Соответственно, интересует состав этих модулей. Т.е. в идеале - готовая CMS с админкой. Сейчас озадачили своих программистов решить этот вопрос. Но без мнения сообщества - боюсь получится никому не нужное средство.

    1. Кнопка "Установить зависимости". Позволяет либо вручную через copy-paste указать зависимости для PIP, либо смотри в файл requirments.txt в каталоге проекта. Соответственно устанавливаются нужные зависимости в требуемый virtual environment.
    2. Кнопки "Запустить" и "Остановить" проект.

    Вот по этим пунктам. Надо подумать, как это реализовать... Пока перезапуск проекта конечно возможен, но для этого надо статью прочитать ) Спасибо.

    + еще одним кликом добавлять модули к джанге основные...

    Это не только новичкам полезно, как я думаю. Вообще странно, что такого средства в админке джанги нет (насколько я знаю). Фактически - средство для правки файла настроек, установки/удаления модулей ну и перезапуска. Может кто встречал?

  6. Иван Сагалаев

    05.03.2010

    0 ↑
    0 ↓

    еще одним кликом добавлять модули к джанге основные...

    А что такое "основные"?

    Вообще, это довольно нетривиальная задачка. Никакого автоматизированного способа ставить более-менее сложные приложения не существует: это всегда правка настроек. Это трудно автоматизировать, потому что настройки юзер может до момента установки править как угодно, и они могут быть совсем не похожи на что-то ожидаемое. А в некоторых случаях от юзера ещё и нужно вполне сознательное решение. Например, если он ставит какую-нибудь штуку с middleware, ему надо подумать, в каком порядке добавлять её в тот набор, который у него есть.

  7. Иван Сагалаев

    05.03.2010

    0 ↑
    0 ↓

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

  8. komtet

    05.03.2010

    0 ↑
    0 ↓
    Так вот может быть будут комментарии по "основному" комплекту?
  9. PIL, PyYaml, python-virtualenv часто нужны.
  10. А мне кажется, это бесполезно — набирать "основной комплект". Потому что предусмотреть всего не получится. Понятно, что чаще всего нужны PIL, python-биндинги к интерфейсам баз данных, мемкешеду. Но вот какие конкретно библиотеки понадобятся в проекте, продумать очень сложно. Да и не предскажете вы всего... или в результате у вас будет зеркало репозитория pypi.

  11. Думаю можно, на начальном этапе, проанализировать, что наиболее часто ставят люди, а уже потом добавить что-то подобное.
  12. По-моему, новичкам всё равно какие пакеты установлены, если они не знают как ими пользоваться. Лучше предоставить им возможность самостоятельно устанавливать необходимые модули с помощью easy_install или pip. Это совсем несложно.

    Сложности возникают при настройке системы вцелом: размещение django проекта и статических файлов на файловой системе, настройка веб-сервера (для статики и динамики), редактирование settings.py и django.wsgi. На мой взгляд это надо автоматизировать в первую очередь с учетом лучших практик.

  13. astur.net.ru

    08.03.2010

    4 ↑
    0 ↓

    Интересно, это только мне кажется надуманной проблема идеального django-хостинга "для новичков"? Ведь для новичков в джанге уже есть девелопмент сервер, а когда разработчик дошёл до того, что у него есть проект, который уже не стыдно выложить на хостинг, то какой же он тогда новичок? Это же не вордпресс какой-нибудь...

  14. komtet

    09.03.2010

    0 ↑
    0 ↓
    Большое спасибо всем участникам обсуждения!
    Будем думать - как помочь неофитам Django и пробовать.
    По поводу надуманности вопроса о помощи новичкам Django - мне кажется, никакой надуманности тут нет. Саппорту круглосуточно приходится отвечать на одни и те же вопросы по развёртыванию проекта (по типу хелловорлд), доступа к админке и т.п. при том, что и ответы на сайте есть и я согласен, ничего сложного в этом нет.
    А по поводу "не стыдно выложить"... Не все так создают сайты, многим Клиентам проще позадавать вопросы саппорту - который поможет и ответит на большинство вопросов - что делать. Для профи - вообще достаточно SSH - и вперёд. А вот чтобы снизить порог вхождения - можно и (как нам кажется) нужно что-то сделать.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.