TypeError NoneType в сценарии Python при запуске приложения Django

Я получаю ошибку: TypeError: 'NoneType' object is not subscriptable. Вы можете просмотреть код ниже. Странно то, что когда я запускаю код в блокноте, он работает. Но когда я запускаю его в Django, я получаю в ответ ошибку NoneType. Мне нужен этот код в моем Django приложении, так что может кто-нибудь помочь.

def update_pie(year, changed_id):
dff = data[data['year'] == year]
if changed_id[-1] == "." or changed_id[-1] == "1":
    dff = dff.groupby('air quality', as_index=False).count()
    dff = dff.rename(columns = {"country": "count"})

elif changed_id[-1] != "1" and changed_id[-1] != ".":
    dff = dff[dff['continent code'] == int(changed_id[-1]) - 1]
    dff = dff.groupby('air quality', as_index=False).count()
    dff = dff.rename(columns = {"country": "count"})

Ниже вы можете найти полный отслеживание ошибки:

Traceback (most recent call last):
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/django_plotly_dash/views.py", line 74, in update
    return _update(request, ident, stateless, **kwargs)
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/django_plotly_dash/views.py", line 91, in _update
    resp = app.dispatch_with_args(request_body, arg_map)
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/django_plotly_dash/dash_wrapper.py", line 698, in dispatch_with_args
    res = callback(*args, **{k: v for k, v in argMap.items() if k in parameters_to_inject})
  File "/mnt/c/Users/Gebruiker/project/templication/env/lib/python3.8/site-packages/dash/_callback.py", line 151, in add_context
    output_value = func(*func_args, **func_kwargs)  # %% callback invoked %%
  File "/mnt/c/Users/Gebruiker/project/templication/dashtemplates/dashboards/dashboard_four/fourthdash.py", line 140, in update_map
    if changed_id[-1] == "." or changed_id[-1] == "1":
TypeError: 'NoneType' object is not subscriptable

Синтаксис индексации [...] называется subscript.

В вашем случае или changed_id является Нет или data является None. Из причин: None[-1], например, или None['year'] не является подписываемым.

Ваш пример не отвечает, где вы берете pandas.dataframe data, или как вы получаете changed_id, возможно, это не весь код.

Вернуться на верх