Отпечаток прекрасно отображается с "./manage.py runserver" или другими вариантами - как упоминает Джошуа, он отображается в терминале, где вы его запустили. Если вы используете FCGI из cron или чего-то подобного, это просто сваливается в небытие, и вы теряете его полностью.
Для мест, где я хочу «печатать», например, предупреждения или уведомления, я использую экземпляр регистратора python, который отправляет syslog, чтобы захватить вывод и поместить его куда-нибудь. Я создаю экземпляр экземпляра входа в один из модулей по мере его загрузки - именно для этого я выбрал models.py, и я знал, что он всегда будет оцениваться до поступления запросов.
import logging, logging.handlers
logger = logging.getLogger("djangosyslog")
hdlr = logging.handlers.SysLogHandler(facility=logging.handlers.SysLogHandler.LOG_DAEMON)
formatter = logging.Formatter('%(filename)s: %(levelname)s: %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
Затем, когда вы хотите вызвать сообщение для регистратора в ваших представлениях или что-то еще:
logger = logging.getLogger("djangosyslog")
logging.warning("Protocol problem: %s", "connection reset", extra=d)
Есть .error (), .critical () и другие - проверьте http://docs.python.org/library/logging.html для подробностей.
Панель инструментов отладки Роба Хадсона хороша, если вы ищете эту отладочную информацию - я часто использую ее в разработке самостоятельно. Он предоставляет вам данные о текущем запросе и ответе, включая SQL, используемый для генерации любой данной страницы. Вы можете ввести в эти данные, как печать, нажав
Строки, которые вас интересуют в контексте / ответе - но я обнаружил, что с этим немного сложно иметь дело.