readline
останавливается, когда достигает символа новой строки. Необязательный аргумент size
указывает, сколько символов читать максимум. Если он встречает символ новой строки до того, как прочитаны символы size
, он все равно останавливается, и аргумент size
становится неактуальным.
См. документацию .
Я использую git для отслеживания своего сайта и развертываю его следующим образом:
git archive --format=tar --prefix="homepage/" master | gzip | ssh webserver "tar xvz -C ~/public_html"
Это заслуживает небольшого объяснения. Команда архивирования для git экспортирует файлы для главной ветви, которая сжимается с помощью gzip для минимизации сетевого трафика. Он получен удаленно через ssh, который распаковывается в конечный каталог назначения.
У меня есть сценарий развертывания, который немного больше продолжается, но это самая важная часть.
Можно смотреть на Матрицу, популярную среди Djangonauts...
Если вопрос состоит в том, если Вы можете Вы использовать мерзавца для развертывания django приложения, ответ уверен!
Однако производственное развертывание распространенного приложения может стать сложным - и пойти путем вне просто отката файлов. Вы, возможно, должны запустить скрипты DB (и обновление и сценарии снижения), задания крона перезапуска, или переместить файлы.
Как часть Вашего процесса развертывания можно хотеть создать резервную копию кодовой базы в целом так, чтобы можно было откатывать любое количество версий назад.
Один способ сделать это с Capistrano, который автоматизирует весь процесс развертывания для Вас. Вы создаете сценарии в своей среде разработки и даете команды как: ограничение развертывается, ограничение deploy_with_migrations, откат ограничения, и т.д. и все автоматизировано от входа в систему полностью до процесса резервного копирования и запускающих скриптов DB. Путем автоматизации развертывания Вы устраняете ошибки в своей продуктивной среде. Я недавно говорил с организацией, которая случайно удалила их всю базу данных, в то время как посреди развертывания и должен был восстановить все от резервных копий. Ошибки развертывания могут действительно повредить Ваш бизнес, таким образом, Вы хотите автоматизировать это, если Вы серьезно относитесь к этому.
Хотя Capistrano является основанным на Ruby инструментом развертывания, наиболее часто используемым с направляющими, это - агностик с точки зрения своих возможностей автоматизации. Существуют многочисленные сообщения в Интернете, которые обсуждают преимущества развертывания приложений Django с Capistrano (Google - django capistrano).
Можно также проверить выезд эта ссылка здесь
Ну, я использую SVN для развертывания моего веб-сайта, таким образом, как я сказал бы, идут для него! Следует иметь в виду, что Вам, вероятно, придется перезапустить/перезагрузить сервер каждый раз, когда Вы обновляете код для веб-сайта (я не уверен, может ли Django или независимо от того, что Вы работаете на нем, работать вокруг этого).