Это поздний ответ, но я до сих пор не видел этот вопрос.Надеюсь, это все еще помогает.Вот шаги, которые я всегда выполняю (успешно).
1) Создайте файл войны:
manage war --include-java-libs "...your external jars here..." --context-root=chair
Имя context-root
важно, потому что Django-on-Jython будет манипулировать вашимsettings.py
файл и измените ваши MEDIA_URL и ADMINMEDIA_URL, чтобы добавить этот контекст (например, MEDIA_URL = '/chair/media/'
), и это должен быть тот же контекст, который вы развертываете в Tomcat.Это будет то же имя сгенерированного файла войны (в данном случае chair.war
).Во внешние JAR-файлы включите, по крайней мере, ваши драйверы JDBC.
2) Разверните войну на Tomcat (никогда не было проблем ни в одном из используемых мной Tomcat, версии 5 и 5.5).Я делаю это вручную через приложение HTML-менеджер по адресу URL http://server:8080/manager/html - для этого потребуется аутентификация, используйте имя пользователя / пароль с правами администратора в Tomcat conf/users.xml
, я думаю (я пишу из памяти).Есть много способов автоматизировать это с помощью Ant, Maven или других инструментов, но руководство вполне подойдет.
Если вам абсолютно необходимо разархивировать файл вручную, используйте имя папки, точно такое же, как у файла war.(и, следовательно, корень контекста), в данном случае webapps / стул в папке установки Tomcat.
3) Получите доступ к развернутому приложению по URL http://server:8080/chair/ (плюс любой дополнительный путь к URL, как определено вurls.py)
Сервлет Modjy - это тот, кто обслуживает ваши URL, как определено в:
<servlet-mapping>
<servlet-name>modjy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Если вы не видите, что ожидаете в http://server:8080/chair/проверьте в HTML-менеджере, действительно ли приложение было запущено, и проверьте журналы Tomcat на наличие ошибок (обычно это logs / catalina.out в каталоге установки tomcat).
Дополнительная информация в официальном документе: http://packages.python.org/django-jython/war-deployment.html