Распространенные ошибки при перемещении django приложения от dev для подталкивания?

Хороший список. Одна из вещей, которые Вы могли бы хотеть установить - и я не могу дать Вам много совета, так как я только начинаю думать об этом сам - когда класс должен быть в различной библиотеке, пространстве имен, вложил пространства имен. Вы могли бы даже хотеть выяснить список библиотек и пространств имен заранее и мандата, который команда должна встретиться и решить объединиться два/добавлять новая.

, О, просто думал о чем-то, что я делаю это, Вы могли бы хотеть также. У меня обычно есть библиотека модульных тестов с тестовым приспособлением на политику класса, где каждый тест входит в соответствующее пространство имен. Я также склонен иметь другую библиотеку тестов (интеграционные тесты?), который находится в больше стиль BDD . Это позволяет мне тестам записи к спецификации, что должен сделать метод, а также что приложение должно сделать в целом.

5
задан luc 30 October 2009 в 15:28
поделиться

3 ответа

Просто запустить foo.exe ? Вам нужно добавить / WAIT , чтобы приостановить его.

будь то мои производственные файлы localsettings.py, wsgi / cgi или apache в / etc / sites-available
  • Различия в базах данных. Я использую South для миграции и столкнулся с некоторыми тонкими проблемами при выполнении миграции на PostgreSQL, когда он работал без сбоев в sqlite.
  • Хостинг статических файлов, так как я обманываю и использую сервер Django в разработке
  • Разрешения как в файловой системе, так и в базе данных
  • Редкие, но возможные проблемы с сетью, не позволяющие мне получить свои зависимости, будь то на PyPi или на стороннем сайте
  • Способы устранения этих проблем:

    • Используйте одну и ту же базу данных в производстве и разработке (в вашем случае MySQL везде)
    • Я обнаружил, что полезно иметь «тестовую» среду, которая имитирует производство всеми возможными способами (это может быть на оборудовании более низкого уровня, или даже такая же машина). Таким образом, если есть какие-либо проблемы в этой «производственной» среде, я могу решить их, не отключая рабочий сервер.
    • Сценарий для повторяемых развертываний. Я использую ткань , но zc.buildout или Paver также подойдут. Эти инструменты помогают уменьшить количество опечаток при развертывании и сократить время на развертывание моего приложения.
    • Используйте контроль версий (mercurial, git, subversion) и инструмент миграции схемы (например, South), чтобы, если что-то пойдет не так при развертывании в производственной среде , у вас есть возможность отменить изменения и позволить производственной среде работать на старом коде со старой схемой базы данных.
    • Я еще не настроил прокси-сервер « egg », но я учитывая это, чтобы избежать проблем при загрузке зависимостей.
    • Я нашел pip ' s замораживание зависимостей на случай, если в библиотеке произошло новое несовместимое изменение с момента ее первоначальной загрузки
    • Используйте среду веб-тестирования, такую ​​как Windmill или Selenium, для тестирования моего приложения в моей «тестовой» среде, поэтому что я могу очень быстро получить много тестов для моей системы.
    7
    ответ дан 14 December 2019 в 04:41
    поделиться

    I believe these were the podcasts I listened to recently (from Pycon 2009):

    Locate Django in the Real World (PyCon 2009):

    http://advocacy.python.org/podcasts/pycon.rss

    Parts 1 to 3

    Very good introduction to designing your apps for deployment, in particular for reuse and redeployment.

    Regs.

    0
    ответ дан 14 December 2019 в 04:41
    поделиться

    Что касается вашего случая, я могу придумать 2 простых вещи, которые могут вам помочь:

    1. Вы можете разрешить Django отправлять сообщения при возникновении исключений с указанием подробностей о них. См. здесь для подробностей.
    2. Вам будет лучше, если вы настроите тестовую среду на prod-сервере (скажем, test.example.com), чтобы вы могли проверить, пойдет ли плавно или нет, прежде чем развернуть приложение.
    1
    ответ дан 14 December 2019 в 04:41
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: