Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2015 15:21:36

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка "TypeError: 'NoneType' object has no attribute '__getitem__'"

from app import app
from flask import render_template
@app.route('/profile/<id>')
def profile(id):
sql="""SELECT * FROM users WHERE id='%(id)s'"""%{"id":id}
data=db.query(sql)
user={'id': data[0],
'email':data[1],
'password':data[2],
'first_name':data[3],
'last_name':data[4],
'image':data[5]}
return render_template("profile.html",user=user)
выводит ошибку
    user={'id': data[0],
TypeError: 'NoneType' object has no attribute '__getitem__'
в чем ошибка? как исправить?

Отредактировано Egor2010 (Март 29, 2015 15:22:02)

Офлайн

#2 Март 29, 2015 16:13:34

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

ошибка "TypeError: 'NoneType' object has no attribute '__getitem__'"

Ошибка в том, что ничего не возвращает Ваш запрос. Используйте sqlalchmy. Не мучайте себя и flask

P.S. И основы все же придется почитать. А то так и будете двигаться сантиметровыми шажками…

Отредактировано 4kpt_III (Март 29, 2015 16:14:20)

Офлайн

#3 Март 29, 2015 16:39:57

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка "TypeError: 'NoneType' object has no attribute '__getitem__'"

4kpt_III
Ошибка в том, что ничего не возвращает Ваш запрос. Используйте sqlalchmy. Не мучайте себя и flask P.S. И основы все же придется почитать. А то так и будете двигаться сантиметровыми шажками…
Совет на счёт sqlalchmy принят )
А на счёт запроса ,всмысле не чего не возрашает ,от куда бы у меня появились данные из базы?

Офлайн

#4 Март 29, 2015 17:06:06

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

ошибка "TypeError: 'NoneType' object has no attribute '__getitem__'"

Ошибку вызывает эта строка

'id': data[0]

Смотрим на нее и на ошибку

Egor2010
TypeError: ‘NoneType’ object has no attribute ‘__getitem__’

Это значит, что data == None, а у None нет метода __getitem__. Просто по данному id ничего нет. А может запрос не отрабатывает…

Отредактировано 4kpt_III (Март 29, 2015 17:06:26)

Офлайн

#5 Март 29, 2015 17:12:09

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка "TypeError: 'NoneType' object has no attribute '__getitem__'"

4kpt_III
Ошибку вызывает эта строка
Если я заменяю её на
'id': id
То ошибка
    user='email': data[1],
TypeError: 'NoneType' object has no attribute '__getitem__'
В вебе страница открывается как надо,а в flask консоле ошибка.

Отредактировано Egor2010 (Март 29, 2015 17:12:32)

Офлайн

#6 Март 29, 2015 18:17:04

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

ошибка "TypeError: 'NoneType' object has no attribute '__getitem__'"

Вы издеваетесь?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version