/ / Django:Djangoが特定のデータを表示しないのはどうすればわかりますか? - django、文字エンコーディング、不正文字

Django:Djangoが特定のデータを表示しない理由を特定するにはどうすればよいですか? - django、文字エンコーディング、不正な文字

ツールとディスプレイを実行するDjangoアプリがあります。ツールからの結果はDjangoテンプレートを使ってユーザーに返されます。時々Djangoは結果を表示しません。何も文句を言わず、結果を表示しません。 Djangoに関する限り、これは結果の1つ以上の文字が違法であることに関係していると思います。Djangoが好きではないということについての詳細な情報を得るにはどうすればよいですか?また、「悪い」文字を除外するために使用できるいくつかの方法はありますか?結果は通常たくさんのテキストです。会社の機密情報が含まれているので、残念ながら例を挙げられません。DEBUGをTrueに設定し、TEMPLATE_DEBUGをDEBUGに設定します。

更新:

127より大きい10進値を持つすべての文字を除外するためのコードをいくつか追加しましたが、現在は機能します。

回答:

回答№1は1

開発サーバーを使用している場合は、pdbでブレークポイントして何が起こっているのか見てください。または、「悪い」文字が含まれていると思われる文字列を出力します。開発サーバーを使用していない場合は、Pythonのログ記録モジュールを使用して、ツールから取得した文字列を記録できます。

あなたは悪い文字を含んでいるデータについての結論に飛躍しているかもしれません。それは他の何かかもしれません、そしてさらにデバッグせずにそれを推測するのは難しいです。


回答№2の場合は0

あなたは違法な文字を削除するために組み込みのdjangoエンコーディング方法を試すことができます。

from django.utils.encoding import smart_str

smart_str(your_string)