Найти - Пользователи
Полная версия: request в templatetags
Начало » Django » request в templatetags
1 2
Ferroman
#6
dissdoc
С помощью pdb не могу разобраться.. Точнее как пользоваться понял.. но вот не могу до конца сообразить :(
Вот у меня есть функция тага в модуле userinfo.py
@register.tag
def showuser(parser.token):
#какой-то код
В pdb я не знаю какие параметры для тестов писать сюда
pdb showinfo.showuser('parser', 'show as user')
Вываливаюсь естественно с ошибкой
*** AttributeError: 'str' object has no attribute 'contents'
Как параметры для тестов вставить?
Ferroman
В чём проблема-то? Ставьте брейкпоинт и смотрите что там на самом деле находится в вашем context. А потом думайте, почему не то, что вы ожидали.
dissdoc
Валится вот с такой ошибкой. Сам скрипт я приводил выше.
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
Ferroman
Извините, вы вообще читаете что вам пишут?
Давайте так:
1. Как вы думаете, что значит этот эксепшин?
2. В каких случаях он происходит?
3. Почему это произошло в вашем скрипте?
dissdoc
Я читаю. Честно. Но не понимаю как дебажить в своем IDE
У меня Aptana + PyDev, а дебаг не хочет работать. Не пойму как привязать.

1. Я так понимаю, что ошибка вот тут context
Все делаю по документации. (см первый пост),можно также добавить, что отправка request у меня выглядит так - view.py
return render_to_response('inpost.html', {'form': form},                            context_instance=RequestContext(request))
Просто не знаю, где еще искать… Может конфиги апача поправить… Инет весь изрыл…
Ferroman
1. По поводу дебаггера - я дал ссылку на документацию по встроенному. В интернете тоже полно руководств. Не понимаю где там может быть непонятно.
2. Вы так не ответили на вопросы.
Ещё один вопрос.
3. Почему вы не используете встроенный девелопмент-сервер?
dissdoc
Да, запустил девелоперский сервер. Много мелких ошибок отловил.
Не знаю, то или не то, но в дебаге по-моему эта строчка нужна для разбора ошибки.
{'request': <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': 'b51af09fd612bc8f6fb5cbacb0469bb6'}
Ощущение такое - что request пустой…
dissdoc
Ааа.. Тут такое дело.. У меня все заработало…
Но я ничего не делал похоже… Само все. Вначале на девелоперском серваке, а потом и на апаче…
Ferroman
Лечу по дебагу, снимаю порчу с кода…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB