我在使用tastypie並向其發佈數據時遇到問題。我只能夠檢索401錯誤代碼。tastypie發帖驗證問題
爲了澄清,我能夠成功從tastypie api中檢索數據。
附件是代碼片段,也許有人可以幫助我擺脫這種情況。 在我開始之前,有一點背景:我正在使用自定義授權類。
class CustomAuthorization(Authorization):
def is_authorized(self, request, object=None):
if request.user.username == 'custom_user':
return True
return False
下面是實際的資源:
class CustomObjectResource(ModelResource):
class Meta:
queryset = CustomObject.objects.all()
authentication = ApiKeyAuthentication()
authorization = CustomAuthorization()
list_allowed_methods = ['get', 'post', ]
detail_allowed_methods = ['get', 'post', 'put']
include_resource_uri = False
resource_name = 'customobject'
always_return_data = True
def obj_create(self, bundle, request=None, **kwargs):
try:
print "request"
except:
raise BadRequest('I couldnt save your information.')
return True
我知道obj_create方法是假的,但它仍然應該叫,做一些事情,或者是這已經是問題?
以下curl命令用於將數據發佈到tastypie API。
curl --dump-header - -H "Content-Type: application/json" -X POST --data '{"body": "This will prbbly be my lst post.", "pub_date": "2011-05-22T00:46:38", "slug": "another-post", "title": "Another Post"}' http://local.com:8000/api/v1/customobject/?format=json&username=custom_user&api_key=123456789
api_key是正確的,但在這種情況下是假的!
如前所述,獲取方法的工作原理,但職位只是不會工作。
任何人都有關於如何解決這個問題或有一個解決方法的想法?
爲什麼不恰當地使用記錄模塊?它具有實際「打印」信息的能力,或根據日誌記錄配置執行其他任何操作(例如,在生產環境中完全忽略調試日誌記錄,但保留更高級別的日誌記錄)。 – Tadeck 2012-07-26 02:33:04
當然,這就是我使用的。但是如果這個人需要快速調試而不需要進行設置,他可以使用打印語句 – nknj 2012-07-26 02:50:46
感謝您的輸入。它實際上比這更令人困惑。正如所建議的那樣,我在允許的方法中添加了「put」,但它仍然不起作用。我使用身份驗證和授權層進行了更多的工作。我固定這兩個,現在它的工作。 – Wurzelgogerer 2012-08-03 18:18:41