Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 13, 2015 15:07:36

yaforever
Зарегистрирован: 2015-07-04
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Django ошибка

есть такой шаблон:

< form action='/disp' method='GET'>
< button formtarget="output" name="1" value="1">1</button>
< /form>

есть такое представление:

def disp(request):
    a = ''
    if request.GET:
        a = request.GET.dict
    return render(request, 'calculator/display.html', {'a': a})

в результате чего “а” отображается в шаблоне display.html как словарь {'1': ‘1’}. Но мне надо чтоб отображалась одна цифра и когда я добавляю метод словаря keys() или values(), то есть пишу a = request.GET.dict.values(), то возникает ошибка

AttributeError at /disp/
'function' object has no attribute ‘values’

Что за ошибка и как можно извлечь ключ или значение из этого словаря?

Отредактировано FishHook (Сен. 13, 2015 18:28:53)

Офлайн

#2 Сен. 13, 2015 18:30:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django ошибка

yaforever
a = request.GET.dict
что это, зачем и откуда вы это взяли?
Просто покажите то место, где вас научили так делать



Офлайн

#3 Сен. 13, 2015 18:56:55

yaforever
Зарегистрирован: 2015-07-04
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Django ошибка

FishHook
Нет такого места, я сам подумал, почему бы не сделать так Но ведь словарь то передается! А значение или ключ из него не извлекается(

Офлайн

#4 Сен. 13, 2015 21:01:57

nnmware
Зарегистрирован: 2012-07-21
Сообщения: 133
Репутация: +  13  -
Профиль   Отправить e-mail  

Django ошибка

Как не извлекается?
myvar = request.GET.get('variable_name') or None

Может там в запросе ничего и не приходит?

Офлайн

#5 Сен. 13, 2015 22:00:11

yaforever
Зарегистрирован: 2015-07-04
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Django ошибка

nnmware
variable_name
при таком варианте, как вы написали ошибки нет, но переменная не отображается в шаблоне

Офлайн

#6 Сен. 14, 2015 01:16:38

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Django ошибка

yaforever
откройте для себя отладку django приложений. Вы должны разрабатывать ваше приложение и в settings должно быть указано DEBUG = True. В нужном участке кода вызываете исключение raise Exception. В Браузере при выполнении этого кода появится отладочная страница, в которой можно просмотреть состояние переменных и т.д. Вот и смотрите там, присвоилось ли вообще переменной значение.
А еще есть django-debug-toolbar - хорошая и полезная вещь



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version