Django 无法响应 json 数据

Django cannot response json data

我在 views.py 中为这样的 return json 数据创建了设备函数。

views.py

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

    return JsonResponse(responseData)

我像这样在 urls.py 中将 url 路径设置为 views.device()。

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