Django и Ajax: django url загружается в консоли, но функция просмотра не работает

В принципе, я сталкиваюсь с подобной проблемой, как здесь: django url загружается в консоли, но функция в представлении не работает, но я все еще не могу найти решение.

Views.py (handler.py)

def delete(request, project_id):
    fid = request.GET.get('fid', '')
    print("------------------", fid)
    Handler.objects.filter(id=fid, project_id=project_id).delete()
    return JsonResponse({'status': True})

def barchart_handler(request, project_id):
    """ get the total amount of schrotte and 'legierungen' for every handler """

    # calculate the total amount of schrotte for every handler
    model_list = [Schnellstahlschrott_kobaltfrei, Tiefzieh_stanzabfaelle, Schnellstahlschrott_kobaltlegiert,
                      Cr_17_Or_Cr_13, Cr_Ni_Schrott, Kaltarbeitsstahl, Warmarbeitsstahl, Cr_Ni_148xx]

    masse_sum_list = []
    firma_name_list = []

    for index, model in enumerate(model_list):
        # calculate the total amount of schrotte for every handler
        menge_sum = model.objects.values_list('spezifikation__handler__name').annotate(menge_masse_sum=Sum('Menge'))

        firma_name_list = [item[0] for item in menge_sum]
        masse_list = [float(item[1]) for item in menge_sum]
        masse_sum_list.append(masse_list)

    df = pd.DataFrame(masse_sum_list, columns=firma_name_list)
    df.loc['Total', :] = df.sum(axis=0)
    total_sum = df.loc['Total', :].values.tolist()

    if len(total_sum) > 0:
        context = {
            "status": True,
            "data": {
                "firma_name_list": firma_name_list,
                "total_sum": total_sum,
            }
        }

        return JsonResponse(context)
    else:
        return JsonResponse({'status': False, 'errors': 'No data found'})

html шаблон и код javascript:

И, наконец, вот

Urls.py

# project detail
 re_path('manage/(?P<project_id>\d+)/', include([
re_path('handler/$', handler.handler, name='handler'),
        re_path('handler/delete/$', handler.delete, name='delete_handler'),
        re_path('handler/barchart/$', handler.barchart_handler, name='barchart_handler'),

Я хочу DELETE объект Handler при всплытии Modal, и отобразить Echarts для некоторой статистики, но оба варианта не работают.

Я получил консольную информацию следующего содержания:

[04/Apr/2022 12:56:40] "GET /manage/2/handler/?page=2 HTTP/1.1" 200 21073 [04/Apr/2022 12:56:40] "GET /manage/2/handler/barchart/ HTTP/1.1" 200 21146 [04/Apr/2022 12:56:46] "GET /manage/2/handler/delete/?fid=21 HTTP/1.1" 200 21146

.

Но функция views на самом деле не получает вызов.

Сделал глупую ошибку, забыл добавить "$" после re_path('handler/$', handler.handler, name='handler'), после добавления "$", теперь все работает. Надеюсь, это может помочь кому-нибудь еще, кто столкнется с подобной проблемой.

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