sql >> データベース >  >> RDS >> Mysql

Unicode警告:Unicodeの等しい比較は、両方の引数をUnicodeに変換できませんでした

    FileFieldによって返される値を渡します image 文字列または反復可能であるかのように、応答に直接入力します。 ソースコード を確認する 指定された例外パスの場合、フィールドによって返されるオブジェクトの__iter__に問題のある行があることがわかります。 メソッド-ラッパークラスはラインターミネータを探しています。生の画像ファイルに、行末文字と比較できるものに変換できないバイトが含まれている可能性があることは確かにもっともらしいです。

    HttpResponse 文字列として処理できるものが必要なだけです。イテレータを指定すると、一度にすべてが読み込まれて文字列が作成されるため、メモリを節約することはできません。

    https://docs.djangoproject.com/en/ dev / ref / request-response /#passing-iterators

    したがって、反復インターフェイスを経由せずに画像ファイルラッパーオブジェクトのコンテンツをプルするものが必要です。 読み取り メソッドはそれを行い、バイト数の引数を指定しない場合はファイルのコンテンツ全体をプルします。したがって、私が最初に試すことは次のとおりです。

    return HttpResponse(get_image.read(), mimetype="image/png")
    

    これはテストされていないので、何か見落としている可能性があります。

    また、ホスティングWebサーバーに画像を処理させ、 URL FileFieldから返されます 。これには、ブラウザにどこを見ればよいかを伝えるための追加のHTTPラウンドトリップが含まれるため、どちらのアプローチが高速になるかについての普遍的なルールはないと思います。




    1. jsonデータをテーブルに挿入する方法は?

    2. ProxySQL監査ログを理解する

    3. MySQLデータベースに配列を保存する最良の方法は?

    4. Powershellを使用してリモートPostgreSqlデータベースに接続します