Отладка веб-приложений

Обратите внимание, что в сообщении об ошибке явно упоминается пустое значение pk . IOW: сначала нужно сохранить экземпляр модели, поля серийного (автоматического) идентификатора получают свои значения только тогда, когда запись вставлена ​​в таблицу.

8
задан Baltimark 17 February 2009 в 17:43
поделиться

4 ответа

dev_appserver является просто сценарием Python, можно просто использовать pydev отладчик на том сценарии с надлежащими аргументами насколько я знаю.

Вот очень подробное руководство о том, как сделать это:

http://www.ibm.com/developerworks/opensource/library/os-eclipse-mashup-google-pt1/index.html

7
ответ дан 5 December 2019 в 12:13
поделиться

Я предложил бы использовать регистрирующиеся операторы вместо печати хотя, поскольку можно управлять ими лучше. Python имеет довольно хорошую включенную библиотеку входа.

Для входа от Google App Engine до, например, Firebug там также некоторый удобный инструмент под названием FirePython. Это позволяет регистрироваться к консоли поджигателя из Вашего Django или приложения WSGI (это - промежуточное программное обеспечение).

4
ответ дан 5 December 2019 в 12:13
поделиться

"Есть ли лучшая техника для контакта с этим?" Едва ли.

"неродной через отладчики" их собственная проблема. Они - своего рода умственная опора, которые помогают получить что-то, что похоже на нее работы.

Во-первых, взгляд на http://code.google.com/appengine/docs/python/tools/devserver.html#The_Development_Console для чего-то, что могло бы быть полезно.

Во-вторых, отметьте это --debug Печатает подробные сообщения отладки к консоли при выполнении.

Наконец, обратите внимание необходимость в большом количестве опыта Python и опыта Google AppEngine записать вещи как веб-приложения. Получить тот опыт, print оператор действительно довольно хорош. Это показывает Вам, что продолжается, и это поощряет Вас действительно понимать то, что Вы ожидаете или намереваетесь произойти.

Отладчики пассивны. Это передает к написанию случайного кода, видя то, что происходит, внося изменения, пока это не работает. Я наблюдал, что люди делают это.

Оператор печати активен. Необходимо запланировать то, что должно произойти, написать код и полагать, что результаты тщательно видят если разработанные планы. Если это не делает то, что Вы предназначили, необходимо выдвинуть гипотезу и протестировать гипотезу. Если это работает, то Вы "поняли" то, что продолжалось. После того как Вы получаете семантику Python и Google AppEngine, Ваше понимание растет, и это становится действительно легким.

2
ответ дан 5 December 2019 в 12:13
поделиться

Моя отладка панели инструментов для GAE:

  • стандартный Python, регистрирующийся вместо print операторы
  • Отладчик Werkzeug, если я не хочу переходить к консольному входу в систему каждая ошибка (не все работает, прежде всего интерактивная сессия интерпретатора),
  • интерактивная консоль по http://localhost:8080/_ah/admin/interactive (не столь хороший как Django python manage.py shell но все еще...)

Символьные отладчики не так оценены как в другом месте, возможно потому что превосходящий самоанализ Python и отражательные механизмы.

1
ответ дан 5 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

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