Why does error "AttributeError: 'NoneType' object has no attribute" in Flask only sometimes fire, and not constantly?
Why does error "AttributeError: 'NoneType' object has no attribute" in Flask only sometimes fire, and not constantly?
构建 Flask 应用程序,并尝试通过 date/popularity 更改 entries/cards 的选择。我被困在这里是因为这个错误不是恒定的,它偶尔会触发。我希望我能让这个排序功能正常工作,然后看看这个问题,我认为这只是一个小错误。但是,现在错误更频繁地触发,我担心我只是在这种方法上浪费了我的时间;但我不知道。
App.py
def tester(page):
limit = 6
offset = (int(page) - 1) * limit
requested = request.args.get('fromHTMLchoice')
print(requested)
requestChoice = requested.split()
a = requestChoice[0]
b = requestChoice[1]
convertChoice = tuple(a[2:-2], int(b[:-1]))
sagas_pages = sagas.find().sort(
[convertChoice]).skip(offset).limit(limit)
return render_template(
"tester.html",
sagas_pages=sagas_pages, page=page
)
HTML
<form class="form-inline" method="GET" action="{{url_for('tester', page=1)}}">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Please select</span>
<select name="fromHTMLchoice" class="selectpicker form-control">
<option value= "('totalLikes', -1)">Likes</option>
<option value= "('totalLikes', 1)">Dislikes</option>
<option value= "('_id', -1)">Most_Recent</option>
<option value= "('_id', 1)">Least_Recent</option>
</select>
</div>
<button type="submit" class="btn btn-default">Go</button>
</div>
</form>
错误
None
127.0.0.1 - - [17/Jul/2020 18:07:40] "GET /tester/1 HTTP/1.1" 500 -
Traceback (most recent call last):
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 2464, in __call__
return self.wsgi_app(environ, start_response)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 2450, in wsgi_app
response = self.handle_exception(e)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1867, in handle_exception
reraise(exc_type, exc_value, tb)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/workspace/sagacity/app.py", line 94, in tester
requestChoice = requested.split()
AttributeError: 'NoneType' object has no attribute 'split'
AttributeError 是问题的下游。要调试的问题是为什么
requested = request.args.get('fromHTMLchoice')
print(requested)
有人打印 None
,就像在日志顶部一样。安全的赌注是,不知何故,tester
是通过没有 fromHTMLChoice
参数的 URL 调用的。
构建 Flask 应用程序,并尝试通过 date/popularity 更改 entries/cards 的选择。我被困在这里是因为这个错误不是恒定的,它偶尔会触发。我希望我能让这个排序功能正常工作,然后看看这个问题,我认为这只是一个小错误。但是,现在错误更频繁地触发,我担心我只是在这种方法上浪费了我的时间;但我不知道。
App.py
def tester(page):
limit = 6
offset = (int(page) - 1) * limit
requested = request.args.get('fromHTMLchoice')
print(requested)
requestChoice = requested.split()
a = requestChoice[0]
b = requestChoice[1]
convertChoice = tuple(a[2:-2], int(b[:-1]))
sagas_pages = sagas.find().sort(
[convertChoice]).skip(offset).limit(limit)
return render_template(
"tester.html",
sagas_pages=sagas_pages, page=page
)
HTML
<form class="form-inline" method="GET" action="{{url_for('tester', page=1)}}">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Please select</span>
<select name="fromHTMLchoice" class="selectpicker form-control">
<option value= "('totalLikes', -1)">Likes</option>
<option value= "('totalLikes', 1)">Dislikes</option>
<option value= "('_id', -1)">Most_Recent</option>
<option value= "('_id', 1)">Least_Recent</option>
</select>
</div>
<button type="submit" class="btn btn-default">Go</button>
</div>
</form>
错误
None
127.0.0.1 - - [17/Jul/2020 18:07:40] "GET /tester/1 HTTP/1.1" 500 -
Traceback (most recent call last):
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 2464, in __call__
return self.wsgi_app(environ, start_response)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 2450, in wsgi_app
response = self.handle_exception(e)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1867, in handle_exception
reraise(exc_type, exc_value, tb)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/workspace/.pip-modules/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/workspace/sagacity/app.py", line 94, in tester
requestChoice = requested.split()
AttributeError: 'NoneType' object has no attribute 'split'
AttributeError 是问题的下游。要调试的问题是为什么
requested = request.args.get('fromHTMLchoice')
print(requested)
有人打印 None
,就像在日志顶部一样。安全的赌注是,不知何故,tester
是通过没有 fromHTMLChoice
参数的 URL 调用的。