【问题标题】:How can i fix TypeError: 'NoneType' object is not subscriptable when using flask and Sqlite3?使用flask和Sqlite3时如何修复TypeError:'NoneType'对象不可下标?
【发布时间】:2021-02-04 19:33:42
【问题描述】:

我正在尝试格式化来自我的 sqlite3 数据库引擎的日期。我正在使用 Flask 框架来托管应用程序,并且收到以下错误消息:“None Type object is not subcriptable”这可能与我从数据库中提取日期时格式化日期的方式有关。不知道在这里做什么?

     @app.route('/view/<date>', methods=['GET','POST'])#date to be 20200520 format
     def view(date):
          db = get_db()
          cur = db.execute('select entry_date from log_date where entry_date = ?', [date])
          result = cur.fetchone()
          d = datetime.strptime(str(result['entry_date']), '%Y%m%d')
          pretty_date = datetime.strftime(d, '%B %d, %Y')

         return render_template('day.html', date=pretty_date)

我得到的错误是:

TypeError

TypeError:“NoneType”对象不可下标 Traceback(最近一次通话最后一次)

File "/usr/lib/python3.6/site-packages/flask/app.py", line 2464, in __call__

return self.wsgi_app(environ, start_response)

File "/usr/lib/python3.6/site-packages/flask/app.py", line 2450, in wsgi_app

response = self.handle_exception(e)

File "/usr/lib/python3.6/site-packages/flask/app.py", line 1867, in handle_exception

reraise(exc_type, exc_value, tb)

File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise

raise value

File "/usr/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app

response = self.full_dispatch_request()

File "/usr/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request

rv = self.handle_user_exception(e)

File "/usr/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception

reraise(exc_type, exc_value, tb)

File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise

raise value

File "/usr/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request

rv = self.dispatch_request()

File "/usr/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request

return self.view_functions[rule.endpoint](**req.view_args)

File "/root/python_flask_projects/food_tracker_flask_app/app.py", line 59, in view

@app.route('/view/<date>', methods=['GET','POST'])#date to be 20200520 format

def view(date):

        db = get_db()

        cur = db.execute('select entry_date from log_date where entry_date = ?', [date])

        result = cur.fetchone()

        datestring = str(result['entry_date'])

        #d = datetime.strptime(str(result['entry_date']), '%Y%m%d')

        d = datetime.strptime(datestring, '%Y%m%d')

        pretty_date = datetime.strftime(d, '%B %d, %Y')

 

        return render_template('day.html', date=pretty_date)

TypeError: 'NoneType' object is not subscriptable

感谢您提供的任何帮助。

【问题讨论】:

    标签: python-3.x sqlite flask


    【解决方案1】:

    如果没有行匹配查询,.fetchone() 将返回 None。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-27
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 2015-02-27
      • 2021-07-20
      • 1970-01-01
      相关资源
      最近更新 更多