-
Приветствую.
Небольшой опрос, если позволите.
Всё больше новичков интересуется Django (и тут у Django больше преимуществ, чем у Zope, а TurboGears и Pylons вообще как то "не идёт").
Традиционно задаются одни и те же вопросы (хотя ответы есть в разделе по Django: http://www.komtet.ru/info/django ).
Мысль
- облегчить ньюбам вход в Django средствами хостинга
Как помочь
- настройка оптимальной среды, возможно с уже размещённым проектом
- возможность автоматической установки проекта по типу простой собранной CMS из панели управления
- ...
Заранее спасибо за комментарии. -
Весьма радуют подобные опросы. Я бы видел идеальный Django-хостинг следующим образом.
1. Кнопка в админке хостинга "Создать проект": автоматически создается папка с virtual environment, подготавливаются скрипты для веб-сервера, обслуживающие эту папку, создается ftp-аккаунт. (Я не знаю, может это уже все есть, вашим хостингом не пользовался).
2. Кнопка "Установить зависимости". Позволяет либо вручную через copy-paste указать зависимости для PIP, либо смотри в файл requirments.txt в каталоге проекта. Соответственно устанавливаются нужные зависимости в требуемый virtual environment.
4. Юзер загружает по ftp исходники проекта.
5. Кнопки "Запустить" и "Остановить" проект.
Вроде больше ничего не надо. -
Извиняюсь, что не зареган здесь, но дополнение к предыдущему посту. Неплохо было бы позволить через панель хостинга выполнять команды, прикрученные к manage.py. Нечто вроде виртуальной консоли. Есть конечно SSH, для меня это даже удобней, но думаю некоторым понравится такая возможность. Ну и команды rm, cp, ls, mv, tar в виртуальной консоли тоже должны работать для каталога пользователя.
-
+ еще одним кликом добавлять модули к джанге основные...
-
Спасибо за ответы!
- Кнопка в админке хостинга "Создать проект": автоматически создается папка с virtual environment, подготавливаются скрипты для веб-сервера, обслуживающие эту папку, создается ftp-аккаунт.
Собственно говоря, площадка готовится автоматически, т.е. создаются все папки, выставляются права, к примеру, для Django проектов - private, доступа к которой извне нет (чтобы нельзя было получить доступ к коду) и т.п. Аналогично - и для FTP - отдельная учётка на каждый домен/проект. Это в общем то не относится к конкретике Django, как мне кажется.
Вот с кнопкой "создать проект"... Мы используем т.н. APS-пакеты, в двух словах - из панели можно выставить дополнительные права, сделать дополнительные настройки, создать СУБД (и заполнить их таблицами и данными), разместить к.л. скрипты. Частное применение - автоматическая установка готовых веб-приложений: Drupal, Joomla, phpBB и т.п. (не только CMS). Этот механизм можно использовать и для подготовки площадки для Django-проектов. Собственно, сам фреймворк то уже устмановлен, так что речь именно о дополнительных действиях при создании проекта. К примеру, можно подготовить "как бы CMS" - и пользователь получит установленную админку Django с к.л. модулями. Соответственно, интересует состав этих модулей. Т.е. в идеале - готовая CMS с админкой. Сейчас озадачили своих программистов решить этот вопрос. Но без мнения сообщества - боюсь получится никому не нужное средство.
- Кнопка "Установить зависимости". Позволяет либо вручную через copy-paste указать зависимости для PIP, либо смотри в файл requirments.txt в каталоге проекта. Соответственно устанавливаются нужные зависимости в требуемый virtual environment.
- Кнопки "Запустить" и "Остановить" проект.
Вот по этим пунктам. Надо подумать, как это реализовать... Пока перезапуск проекта конечно возможен, но для этого надо статью прочитать ) Спасибо.
+еще одним кликом добавлять модули к джанге основные...Это не только новичкам полезно, как я думаю. Вообще странно, что такого средства в админке джанги нет (насколько я знаю). Фактически - средство для правки файла настроек, установки/удаления модулей ну и перезапуска. Может кто встречал?
-
еще одним кликом добавлять модули к джанге основные...
А что такое "основные"?
Вообще, это довольно нетривиальная задачка. Никакого автоматизированного способа ставить более-менее сложные приложения не существует: это всегда правка настроек. Это трудно автоматизировать, потому что настройки юзер может до момента установки править как угодно, и они могут быть совсем не похожи на что-то ожидаемое. А в некоторых случаях от юзера ещё и нужно вполне сознательное решение. Например, если он ставит какую-нибудь штуку с middleware, ему надо подумать, в каком порядке добавлять её в тот набор, который у него есть.
-
Впрочем, если под "установкой" понимается только установка питоньей библиотеки, а настройка оставляется на юзера, то тогда да, полезно. Тогда надо только набрать этот "основной" комплект.
-
Так вот может быть будут комментарии по "основному" комплекту?
-
PIL, PyYaml, python-virtualenv часто нужны.
-
А мне кажется, это бесполезно — набирать "основной комплект". Потому что предусмотреть всего не получится. Понятно, что чаще всего нужны PIL, python-биндинги к интерфейсам баз данных, мемкешеду. Но вот какие конкретно библиотеки понадобятся в проекте, продумать очень сложно. Да и не предскажете вы всего... или в результате у вас будет зеркало репозитория pypi.
-
Думаю можно, на начальном этапе, проанализировать, что наиболее часто ставят люди, а уже потом добавить что-то подобное.
-
По-моему, новичкам всё равно какие пакеты установлены, если они не знают как ими пользоваться. Лучше предоставить им возможность самостоятельно устанавливать необходимые модули с помощью easy_install или pip. Это совсем несложно.
Сложности возникают при настройке системы вцелом: размещение django проекта и статических файлов на файловой системе, настройка веб-сервера (для статики и динамики), редактирование settings.py и django.wsgi. На мой взгляд это надо автоматизировать в первую очередь с учетом лучших практик.
-
Интересно, это только мне кажется надуманной проблема идеального django-хостинга "для новичков"? Ведь для новичков в джанге уже есть девелопмент сервер, а когда разработчик дошёл до того, что у него есть проект, который уже не стыдно выложить на хостинг, то какой же он тогда новичок? Это же не вордпресс какой-нибудь...
-
Большое спасибо всем участникам обсуждения!
Будем думать - как помочь неофитам Django и пробовать.
По поводу надуманности вопроса о помощи новичкам Django - мне кажется, никакой надуманности тут нет. Саппорту круглосуточно приходится отвечать на одни и те же вопросы по развёртыванию проекта (по типу хелловорлд), доступа к админке и т.п. при том, что и ответы на сайте есть и я согласен, ничего сложного в этом нет.
А по поводу "не стыдно выложить"... Не все так создают сайты, многим Клиентам проще позадавать вопросы саппорту - который поможет и ответит на большинство вопросов - что делать. Для профи - вообще достаточно SSH - и вперёд. А вот чтобы снизить порог вхождения - можно и (как нам кажется) нужно что-то сделать. -
Отщеплен новый топик "Автоматическая установка на хостинг из панели".
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.






