2015-07-12 83 views
1

我正在使用Django和Django Rest Framework。當我用這個視圖刪除用戶審查Django服務器的工作。HTTP上的403錯誤刪除Django

@api_view(['GET','POST','DELETE']) 
    @permission_classes((IsAuthenticated,)) 
    def user_reviewrating(request,websitename): 
      if request.method == 'DELETE': 
      try: 
       snippets = website_review.objects.get(website_id = website_index.objects.get(slug=websitename).uuid,user_id__username = request.user.username).delete() 
       return Response({"status":"deleted"}) 
     except : 
      return Response({"status":"not deleted"}) 

但是這是403拒絕訪問,說明:您不允許訪問您請求的文檔。在Apache服務器上。我是否需要設置任何其他刪除權限?

網:

響應:

<HTML> 
<HEAD> 
<TITLE>Access Denied</TITLE> 
</HEAD> 

<BODY BGCOLOR="white" FGCOLOR="black"> 
<H1>Access Denied</H1> 
<HR> 

<FONT FACE="Helvetica,Arial"><B> 
Description: You are not allowed to access the document you requested. 
</B></FONT> 
<HR> 
</BODY> 
+1

似乎是一個Apache錯誤,而不是Django錯誤。你的模型中是否有文件/圖像?如果是,則存在文件許可問題。 –

+0

另外,可能值得發佈應用程序日誌 - 假設你記錄403s等。用於調試 – jvc26

+0

不!模型中沒有媒體。 –

回答

0

也許你已註銷門戶的當您嘗試訪問視圖。嘗試登錄,然後點擊網址。這應該排序你的問題。

如果您使用會話身份驗證,請使用瀏覽器登錄門戶網站,然後使用REST客戶端/可瀏覽的API通過DELETE請求訪問網址。

+0

是的,我正在使用會話身份驗證,並通過DELETE請求訪問了網址,我收到了此錯誤消息。而且它在本地django服務器上工作正常,但不能在Apache上工作 –

+1

有時候,在Apache中會發生PUT和DELETE請求被禁用。嘗試打開它們。此鏈接可能會有所幫助。 http://forums.phpfreaks.com/topic/143940-solved-put-delete-enabled-by-default/ –