Форум сайта python.su
#6
Офлайн
С помощью pdb не могу разобраться.. Точнее как пользоваться понял.. но вот не могу до конца сообразить :(
Вот у меня есть функция тага в модуле userinfo.py
@register.tag
def showuser(parser.token):
#какой-то код
pdb showinfo.showuser('parser', 'show as user')
*** AttributeError: 'str' object has no attribute 'contents'
Отредактировано (Янв. 28, 2010 14:59:28)
Офлайн
В чём проблема-то? Ставьте брейкпоинт и смотрите что там на самом деле находится в вашем context. А потом думайте, почему не то, что вы ожидали.
Офлайн
Валится вот с такой ошибкой. Сам скрипт я приводил выше.
Caught an exception while rendering: 'request'
Original Traceback (most recent call last):
File "C:\server\python\Lib\site-packages\django\template\debug.py", line 71, in render_node
result = node.render(context)
File "D:/proj\rin\bugcatcher\templatetags\userinfo.py", line 28, in render
req = context['request']
File "C:\server\python\lib\site-packages\django\template\context.py", line 44, in __getitem__
raise KeyError(key)
KeyError: 'request'
Request Method: GET
Request URL: http://localhost/rin/bugcatcher/
Exception Type: TemplateSyntaxError
Exception Value:
Caught an exception while rendering: 'request'
Original Traceback (most recent call last):
File "C:\server\python\Lib\site-packages\django\template\debug.py", line 71, in render_node
result = node.render(context)
File "D:/proj\rin\bugcatcher\templatetags\userinfo.py", line 28, in render
req = context['request']
File "C:\server\python\lib\site-packages\django\template\context.py", line 44, in __getitem__
raise KeyError(key)
KeyError: 'request'
Exception Location: C:\server\python\Lib\site-packages\django\template\debug.py in render_node, line 81
Python Executable: C:\server\apache\bin\httpd.exe
Python Version: 2.5.4
Офлайн
Извините, вы вообще читаете что вам пишут?
Давайте так:
1. Как вы думаете, что значит этот эксепшин?
2. В каких случаях он происходит?
3. Почему это произошло в вашем скрипте?
Офлайн
Я читаю. Честно. Но не понимаю как дебажить в своем IDE
У меня Aptana + PyDev, а дебаг не хочет работать. Не пойму как привязать.
1. Я так понимаю, что ошибка вот тут context
Все делаю по документации. (см первый пост),можно также добавить, что отправка request у меня выглядит так - view.py
return render_to_response('inpost.html', {'form': form}, context_instance=RequestContext(request))
Офлайн
1. По поводу дебаггера - я дал ссылку на документацию по встроенному. В интернете тоже полно руководств. Не понимаю где там может быть непонятно.
2. Вы так не ответили на вопросы.
Ещё один вопрос.
3. Почему вы не используете встроенный девелопмент-сервер?
Офлайн
Да, запустил девелоперский сервер. Много мелких ошибок отловил.
Не знаю, то или не то, но в дебаге по-моему эта строчка нужна для разбора ошибки.
{'request': <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': 'b51af09fd612bc8f6fb5cbacb0469bb6'}
Офлайн
Ааа.. Тут такое дело.. У меня все заработало…
Но я ничего не делал похоже… Само все. Вначале на девелоперском серваке, а потом и на апаче…
Офлайн
Лечу по дебагу, снимаю порчу с кода…
Офлайн