7

Django 管理を使用してモデルの FileField 経由でファイルをアップロードしようとすると、Django 開発サーバーから次の応答が返されます。

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

コンソールの唯一の出力は次のとおりです。

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

エラーログを見つけようとしましたが、ここでいくつかの回答を読んだ後、Djangoは通常デバッグ情報をブラウザーウィンドウに直接出力するため、そのようなものはないと思いますDebug=True(私の場合)。

この問題をさらにデバッグするにはどうすればよいですか?

4

3 に答える 3

14

In my case it was a leading '/' character in models.py.

Changed /products/ to products/ in:

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

于 2014-08-02T20:49:47.863 に答える
2

確かに、django でエラー ログを見つけるのは難しい場合がありますが、django に関連するエラー ログを取得する別の方法を発見しました。

django-db-log パッケージをインストールし、設定を構成します。py pip install django-db-log --upgrade または easy-install django-db-log

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

于 2013-07-21T17:00:29.813 に答える