我正在尝试格式化来自sqlite3数据库引擎的日期。我正在使用Flask框架托管应用程序,并且收到以下错误消息:'None Type object is 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”对象不可下标 追溯(最近一次通话结束)
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
感谢您可以提供的任何帮助。
答案 0 :(得分:1)
.fetchone()
将返回None。