2013-07-21 75 views
7

當我嘗試使用Django管理我獲得以下從Django開發服務器響應通過我的模型的FileField上傳文件:文件上傳 - 錯誤請求(400)

<h1>Bad Request (400)</h1> 

在控制檯的唯一輸出是:

[21/Jul/2013 17:55:23] "POST /admin/core/post/add/ HTTP/1.1" 400 26 

我試圖找到一個錯誤日誌,但在閱讀這裏幾個答案後,我認爲沒有這樣的事情,因爲Django通常直接將調試信息打印到瀏覽器窗口時Debug=True(我的情況)。

如何進一步調試此問題?

+0

你應該張貼上傳圖像的代碼。我希望你使用了正確的'enctype'。 –

+0

@DanielFigueroa問題的關鍵是要知道如何調試這些類型的東西,而不僅僅是爲了解決錯誤400. –

回答

14

在我的情況下,它是在models.py領先的「/」字符。

在改變/products/products/

product_image = models.ImageField(upload_to='products/')

+0

我認爲這也是我的問題。解決問題後,我忘了提交答案。 :) –

2

這是真的,有時很難找到django中的錯誤日誌,但我發現另一種方式來獲得與django相關的錯誤日誌。

安裝Django的DB-日誌包和配置settings.py PIP安裝Django-DB-數--upgrade或易於安裝Django-DB-數

DBLOG_CATCH_404_ERRORS = True # enable the catching 
MIDDLEWARE_CLASSES=('djangodblog.DBLogMiddleware',) 
INSTALL_APPS =('djangodblog',) 
$ ./manage.py syncdb 
Creating table djangodblog_error 
Installing index for djangodblog.ErrorBatch model 
.......... 
........... 

Django項目現在將其所有異常記錄到表djangodblog_error中。我們現在需要的只是應用程序捕獲錯誤的視圖或模板中的例外。

讀這個環節中問題的情況下:https://github.com/dcramer/django-db-log