Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 28, 2010 14:29:44

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

request в templatetags

#6

Офлайн

#2 Янв. 28, 2010 14:58:50

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

request в templatetags

С помощью pdb не могу разобраться.. Точнее как пользоваться понял.. но вот не могу до конца сообразить :(
Вот у меня есть функция тага в модуле userinfo.py

@register.tag
def showuser(parser.token):
#какой-то код
В pdb я не знаю какие параметры для тестов писать сюда
pdb showinfo.showuser('parser', 'show as user')
Вываливаюсь естественно с ошибкой
*** AttributeError: 'str' object has no attribute 'contents'
Как параметры для тестов вставить?



Отредактировано (Янв. 28, 2010 14:59:28)

Офлайн

#3 Янв. 28, 2010 16:20:03

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

request в templatetags

В чём проблема-то? Ставьте брейкпоинт и смотрите что там на самом деле находится в вашем context. А потом думайте, почему не то, что вы ожидали.

Офлайн

#4 Янв. 28, 2010 18:02:33

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

request в templatetags

Валится вот с такой ошибкой. Сам скрипт я приводил выше.

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



Офлайн

#5 Янв. 28, 2010 18:19:00

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

request в templatetags

Извините, вы вообще читаете что вам пишут?
Давайте так:
1. Как вы думаете, что значит этот эксепшин?
2. В каких случаях он происходит?
3. Почему это произошло в вашем скрипте?

Офлайн

#6 Янв. 28, 2010 18:30:12

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

request в templatetags

Я читаю. Честно. Но не понимаю как дебажить в своем IDE
У меня Aptana + PyDev, а дебаг не хочет работать. Не пойму как привязать.

1. Я так понимаю, что ошибка вот тут context
Все делаю по документации. (см первый пост),можно также добавить, что отправка request у меня выглядит так - view.py

return render_to_response('inpost.html', {'form': form},                            context_instance=RequestContext(request))
Просто не знаю, где еще искать… Может конфиги апача поправить… Инет весь изрыл…



Офлайн

#7 Янв. 28, 2010 18:56:23

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

request в templatetags

1. По поводу дебаггера - я дал ссылку на документацию по встроенному. В интернете тоже полно руководств. Не понимаю где там может быть непонятно.
2. Вы так не ответили на вопросы.
Ещё один вопрос.
3. Почему вы не используете встроенный девелопмент-сервер?

Офлайн

#8 Янв. 28, 2010 19:31:25

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

request в templatetags

Да, запустил девелоперский сервер. Много мелких ошибок отловил.
Не знаю, то или не то, но в дебаге по-моему эта строчка нужна для разбора ошибки.

{'request': <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': 'b51af09fd612bc8f6fb5cbacb0469bb6'}
Ощущение такое - что request пустой…



Офлайн

#9 Янв. 28, 2010 19:40:14

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

request в templatetags

Ааа.. Тут такое дело.. У меня все заработало…
Но я ничего не делал похоже… Само все. Вначале на девелоперском серваке, а потом и на апаче…



Офлайн

#10 Янв. 29, 2010 10:24:07

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

request в templatetags

Лечу по дебагу, снимаю порчу с кода…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version