2009-11-11 21 views
10

我已經安裝了filebrowser Django的(不是filebrowser3),當,當我嘗試上傳的文件我收到以下錯誤:「CSRF驗證失敗」嘗試上傳的文件或filebrowser創建一個文件夾的Django

403 Forbidden

CSRF verification failed. Request aborted.

More information is available with DEBUG=True.

當我嘗試創建一個新文件夾,顯示問題是filebrowser無法在我的上傳目錄中創建文件/目錄時發生同樣的錯誤。我使用默認設置並手動創建了/media/uploads目錄,並將其權限設置爲755

如果我上傳文件的目錄,然後文件瀏覽器的管理頁面狀態:

1 Item Folder: 0 Image: 1

我不能查看我已經上傳了圖片。

我安裝了PIL和sorl.thumbnail模塊。

回答

6

您可能正在使用Django的開發版本,它包含相當多的額外CRSF安全性。然而它還沒有發佈,所以外部產品可能不兼容。您應該使用1.1版本的Django。

+0

正確!我正在努力降級到1.1。除了等待應用程序更新之外,有什麼方法可以解決此問題嗎?謝謝。 – 2009-11-12 00:20:33

1

在這裏看到:http://docs.djangoproject.com/en/dev/ref/contrib/csrf/像fitzgeralsteele說。 擁抱。

例子: 從django.views.decorators.csrf進口csrf_exempt

@csrf_exempt 高清my_view(請求): 返回的HttpResponse(「世界,你好」)

禁用CSRF中間件。

4

添加到您的settings.py這2行:

'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfResponseMiddleware',

+0

通常,錯誤會告訴您需要包含第一個,但它不會告訴您包含第二個。 +1在這裏列出,因爲這解決了我的問題:) – g19fanatic 2012-03-31 21:04:58

0

它的工作將

{% csrf_token %} 

我的形式是這樣的:

<form method="post" action=""> 
{% csrf_token %} 
{{ form.non_field_errors }} 
{{formulario}} 
<input type="submit" value="Guardar"> 
</form> 

到您的模板文件 上的標籤並驗證'django.middleware.csrf.CsrfViewMiddleware',在您的設置文件中,它在默認情況下爲

相關問題