Python ';选项';对象没有属性';模块名称';
Django 1.8a1Python ';选项';对象没有属性';模块名称';,python,django,tastypie,Python,Django,Tastypie,Django 1.8a1 Tastypie 0.12.0 我想通过api修补我的对象 当我尝试使用curl api时: ➜ sesame git:(migration) ✗ curl --dump-header -b cookies -v -H "X-CSRFToken: 5HA6yUXRtdf6KsHK6V52GKm1WkGWuvLh" -H "Content-Type: application/json" -X PATCH --data '{"login": "111"}' http
Tastypie 0.12.0 我想通过api修补我的对象 当我尝试使用curl api时:
➜ sesame git:(migration) ✗ curl --dump-header -b cookies -v -H "X-CSRFToken: 5HA6yUXRtdf6KsHK6V52GKm1WkGWuvLh" -H "Content-Type: application/json" -X PATCH --data '{"login": "111"}' http://127.0.0.1:8000/api/v1/serviceAccountEmail/50D2CB33-1ED8-4925-B542-9CE26C961C09/
我得到一个错误:
* Rebuilt URL to: cookies/
* Hostname was NOT found in DNS cache
* Could not resolve host: cookies
* Closing connection 0
curl: (6) Could not resolve host: cookies
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 8000 (#1)
> PATCH /api/v1/serviceAccountEmail/50D2CB33-1ED8-4925-B542-9CE26C961C09/ HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 127.0.0.1:8000
> Accept: */*
> X-CSRFToken: 5HA6yUXRtdf6KsHK6V52GKm1WkGWuvLh
> Content-Type: application/json
> Content-Length: 16
>
* upload completely sent off: 16 out of 16 bytes
* HTTP 1.0, assume close after body
HTTP/1.0 500 INTERNAL SERVER ERROR
Date: Mon, 23 Feb 2015 21:56:48 GMT
Server: WSGIServer/0.1 Python/2.7.6
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
{"error_message": "'Options' object has no attribute 'module_name'", "traceback": "Traceback (most recent call last):\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 204, in wrapper\n response = callback(request, *args, **kwargs)\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 444, in dispatch_detail\n return self.dispatch('detail', request, **kwargs)\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 467, in dispatch\n response = method(request, **kwargs)\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 1626, in patch_detail\n self.update_in_place(request, bundle, deserialized)\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 1649, in update_in_place\n return self.obj_update(bundle=original_bundle, **kwargs)\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 2167, in obj_update\n return self.save(bundle, skip_errors=skip_errors)\n\n File \"/home/andrey/repos/sesame/tastypie/resou* Closing connection 1
rces.py\", line 2245, in save\n self.authorized_update_detail(self.get_object_list(bundle.request), bundle)\n\n File \"/home/andrey/repos/sesame/tastypie/resources.py\", line 650, in authorized_update_detail\n auth_result = self._meta.authorization.update_detail(object_list, bundle)\n\n File \"/home/andrey/repos/sesame/tastypie/authorization.py\", line 214, in update_detail\n permission = '%s.change_%s' % (klass._meta.app_label, klass._meta.module_name)\n\nAttributeError: 'Options' object has no attribute 'module_name'\n"}%
谷歌无法帮助我解决这种情况您需要更改
curl
选项:
根据:
-b,--cookie
(HTTP)将数据作为cookie传递到HTTP服务器。据说是这样
以前在“Set Cookie:”行中从服务器接收的数据。
数据的格式应为“NAME1=VALUE1;NAME2=VALUE2”
如果行中未使用“=”符号,则该符号将被视为要删除的文件名
用于从中读取以前存储的cookie行,应使用该行
在此会话中,如果它们匹配。使用此方法也会激活
“cookie解析器”,它将使curl也记录传入的cookie,
如果你把它和-L结合使用,这可能会很方便,
--位置选项。要从中读取cookie的文件的文件格式应为纯HTTP头或Netscape/Mozilla cookie文件
格式
用-b,--cookie指定的文件仅用作输入。没有饼干
将被写入该文件。要存储cookies,请使用-c,
--饼干罐选项
如果多次使用此选项,将使用最后一个选项
-b, --cookie <name=data>