【发布时间】:2020-08-02 20:18:49
【问题描述】:
我为 RESTful 服务创建了 API。但它抛出错误 raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
API url 为 path('api/(?P\d+)/$',views.EmployeeDetailsCBV.as_view()),
view 是 EmployeeDetailsCBV(View) 类: def get(self,request,id,*args,**kwargs): emp = Employee.objects.get(id=id) emp_data = { 'eno':emp.eno, 'ename':emp.ename, 'esal':emp.esal, 'eaddr':emp.eaddr, } json_data = json.dumps(emp_data) 返回 HttpResponse(json_data,content_type='application/json')
【问题讨论】:
-
尝试打印 emp.eno 和 emp.ename 可能缺少值。
-
@PavanKumarTS 如果我尝试手动传递值那么它工作正常但是当我试图从用户那里获取 empo id 时它会抛出错误。
-
您获取的 Employee 是否具有所有值。为您正在获取的 id 签入一次 db
-
是的,emp id 是有价值的。我认为我定义的 url 路径存在问题。 path('api/(?P
\d+)/$', views.EmployeeDetailsCBV.as_view()), 你能确认 /(?P \d+)/$' 是正确的@PavanKumarTS跨度> -
请格式化您的代码。
标签: python django python-3.x django-models django-rest-framework