Django не может ответить на запрос json-данных

Я создаю функцию устройства в файле views.py для возврата json-данных следующим образом.

views.py

def device(request):
    
    responseData = {
        'id': 4,
        'name': 'Test Response',
        'roles' : ['Admin','User']
    }

    return JsonResponse(responseData)

Я задаю url путь к views.device() в urls.py следующим образом.

urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('device/', views.device()),
]

Когда я сохраняю проект, он выдает такую ошибку. Как это исправить?

  File "C:\Users\MAX\Django\test_project\test\test\urls.py", line 23, in <module>
    path('device/', views.device()),
TypeError: device() missing 1 required positional argument: 'request'

Вы вызываете свою функцию device, когда ваши урлы загружаются без запроса.

Вашим урлам просто нужно знать, какую функцию вызывать.

Вместо path('device/', views.device()), должно быть path('device/', views.device),

https://docs.djangoproject.com/en/4.0/topics/http/urls/#example

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