TypeError:“ NoneType”对象在使用SQLite3的Flask中没有属性“ __getitem__”

尼菲

编辑:我发现是什么导致NoneType错误,很抱歉打扰您。

在我的代码中,我想打开我的records.db并获取其中的最后一个索引,然后使用该索引作为上载文件的名称(增加一个),但是我的方法仅适用于普通的python脚本,在Flask中,我收到NoneType错误。 。

这是我的代码:

import os
import datetime
import subprocess
import sqlite3
import sys
from flask import Flask, render_template, request, redirect, url_for, g
from werkzeug import secure_filename

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads'
app.config['ALLOWED_EXTENSIONS'] = set(['txt', 'gro', 'doc', 'docx'])

DATABASE = 'records.db'

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1] in app.config['ALLOWED_EXTENSIONS']

def get_db():
    db = getattr(g, '_database', None)
    if db is None:
        db = g._database = sqlite3.connect(DATABASE)
    return db

def get_id():
    cur = get_db().cursor()
    cur.execute('SELECT id FROM Records ORDER BY id DESC LIMIT 1;')
    number = cur.fetchone()
    filenum = int(number[0])
    return filenum + 1

@app.teardown_appcontext
def close_connection(exception):
    db = getattr(g, '_database', None)
    if db is not None:
        db.close()

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/upload', methods = ['POST'])
def upload():
    num = get_id()
    file = request.files['file']
    if file and allowed_file(file.filename):
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], num.filename))
        subprocess.call(['python', '/home/martyna/Dropbox/programowanie/project_firefox/topologia.py', 'uploads/'+num.filename])
        return "Thank you for uploading"


if __name__ == '__main__':
    app.debug = True
    app.run(host='0.0.0.0')

这:filenum = int(number[0])导致我的错误。我将不胜感激任何帮助。

完整的错误跟踪:

Traceback (most recent call last):
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/martyna/Dropbox/programowanie/project_firefox/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/martyna/Dropbox/programowanie/project_firefox/hello.py", line 46, in upload
    filenum = int(number[0]) + 1
TypeError: 'NoneType' object has no attribute '__getitem__'
尼古拉斯78

您的Records表中可能没有元素因此,请cur.fetchone()返回,None以便您有效地尝试访问None[0],从而出现错误消息。

顺便说一句错误消息是告诉您您要带走[0]的东西是什么None,因此,如果您看那条线,唯一要走[0]的就是number因此,调试此类问题的一种好方法是print number在违规行之前添加类似内容,这通常会挑战一些基本信念,使我对变量的内容有所了解:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django错误:TypeError:“ NoneType”对象没有属性“ __getitem__”

来自分类Dev

Kivy,TypeError:“ NoneType”对象没有属性“ __getitem__”

来自分类Dev

python 2.7.8 TypeError:'NoneType'对象没有属性'__getitem__'

来自分类Dev

TypeError:“ _ csv.reader”对象没有属性“ __getitem__”?

来自分类Dev

TypeError:“发电机”对象没有属性“ __getitem__”

来自分类Dev

TypeError:“ datetime.date”对象没有属性“ __getitem__”

来自分类Dev

Numba-TypeError:“类型”对象没有属性“ __getitem__”

来自分类Dev

Python:“ TypeError:“响应”对象没有属性“ __getitem__”

来自分类Dev

TypeError'int'对象没有属性'__getitem__'

来自分类Dev

Python-TypeError:“ float”对象没有属性“ __getitem__”

来自分类Dev

Python TypeError:“ int”对象没有属性“ __getitem__”

来自分类Dev

TypeError:“ float”对象没有属性“ __getitem__”错误

来自分类Dev

Twitter TypeError:“ int”对象没有属性“ __getitem__”

来自分类Dev

TypeError:“ instancemethod”对象没有属性“ __getitem__”

来自分类Dev

Python TypeError:“ NoneType”对象在图像处理中没有属性“ __getitem__”

来自分类Dev

Python,烧瓶:TypeError:“ NoneType”对象没有针对填充表单的属性“ __getitem__”

来自分类Dev

Flask的url_for引发TypeError:'function'对象没有属性'__getitem__'

来自分类Dev

为什么没有__getitem__引发TypeError

来自分类Dev

一个简单程序中的错误:TypeError:into对象没有属性'__getitem__'

来自分类Dev

TypeError:“实例方法”对象在芹菜中没有属性“ __getitem__”

来自分类Dev

TypeError:'type'对象在pandas DataFrame中没有属性'__getitem__'

来自分类Dev

TypeError'float'对象在数组分配中没有属性'__getitem__'

来自分类Dev

Python-更新SqlServer中的XML行(TypeError:“类型”对象没有属性“ __getitem__”)

来自分类Dev

TypeError:在Python中解析XML时,“类型”对象没有属性“ __getitem__”

来自分类Dev

TypeError:使用nltk.classify.apply_features时,'WordListCorpusReader'对象没有属性'__getitem__'

来自分类Dev

此代码有什么问题?TypeError:“ float”对象没有属性“ __getitem__”

来自分类Dev

TypeError:'函数'对象没有属性'__getitem__'; MEDIA_URL

来自分类Dev

datetime TypeError:“ datetime.datetime”对象没有属性“ __getitem__”

来自分类Dev

TypeError:“ builtin_function_or_method”对象没有属性“ __getitem__”

Related 相关文章

  1. 1

    Django错误:TypeError:“ NoneType”对象没有属性“ __getitem__”

  2. 2

    Kivy,TypeError:“ NoneType”对象没有属性“ __getitem__”

  3. 3

    python 2.7.8 TypeError:'NoneType'对象没有属性'__getitem__'

  4. 4

    TypeError:“ _ csv.reader”对象没有属性“ __getitem__”?

  5. 5

    TypeError:“发电机”对象没有属性“ __getitem__”

  6. 6

    TypeError:“ datetime.date”对象没有属性“ __getitem__”

  7. 7

    Numba-TypeError:“类型”对象没有属性“ __getitem__”

  8. 8

    Python:“ TypeError:“响应”对象没有属性“ __getitem__”

  9. 9

    TypeError'int'对象没有属性'__getitem__'

  10. 10

    Python-TypeError:“ float”对象没有属性“ __getitem__”

  11. 11

    Python TypeError:“ int”对象没有属性“ __getitem__”

  12. 12

    TypeError:“ float”对象没有属性“ __getitem__”错误

  13. 13

    Twitter TypeError:“ int”对象没有属性“ __getitem__”

  14. 14

    TypeError:“ instancemethod”对象没有属性“ __getitem__”

  15. 15

    Python TypeError:“ NoneType”对象在图像处理中没有属性“ __getitem__”

  16. 16

    Python,烧瓶:TypeError:“ NoneType”对象没有针对填充表单的属性“ __getitem__”

  17. 17

    Flask的url_for引发TypeError:'function'对象没有属性'__getitem__'

  18. 18

    为什么没有__getitem__引发TypeError

  19. 19

    一个简单程序中的错误:TypeError:into对象没有属性'__getitem__'

  20. 20

    TypeError:“实例方法”对象在芹菜中没有属性“ __getitem__”

  21. 21

    TypeError:'type'对象在pandas DataFrame中没有属性'__getitem__'

  22. 22

    TypeError'float'对象在数组分配中没有属性'__getitem__'

  23. 23

    Python-更新SqlServer中的XML行(TypeError:“类型”对象没有属性“ __getitem__”)

  24. 24

    TypeError:在Python中解析XML时,“类型”对象没有属性“ __getitem__”

  25. 25

    TypeError:使用nltk.classify.apply_features时,'WordListCorpusReader'对象没有属性'__getitem__'

  26. 26

    此代码有什么问题?TypeError:“ float”对象没有属性“ __getitem__”

  27. 27

    TypeError:'函数'对象没有属性'__getitem__'; MEDIA_URL

  28. 28

    datetime TypeError:“ datetime.datetime”对象没有属性“ __getitem__”

  29. 29

    TypeError:“ builtin_function_or_method”对象没有属性“ __getitem__”

热门标签

归档