Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

UnicodeWarning:Perbandingan setara Unicode gagal mengonversi kedua argumen ke Unicode

Anda meneruskan nilai yang dikembalikan oleh FileField image langsung ke respons seolah-olah itu adalah string atau iterable. Memeriksa kode sumber untuk jalur pengecualian yang diberikan, kita melihat bahwa objek yang dikembalikan oleh bidang memiliki baris yang menyinggung di __iter__-nya metode - kelas pembungkus sedang mencari terminator baris. Jelas masuk akal bahwa file gambar mentah dapat berisi byte yang tidak dapat dikonversi menjadi sesuatu yang dapat dibandingkan dengan karakter terminator baris.

HttpResponse hanya membutuhkan sesuatu yang dapat diperlakukan sebagai string - jika Anda memberinya iterator, ia membaca semuanya sekaligus dan membuat string, jadi tidak ada penghematan memori yang tersedia:

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

Jadi, Anda memerlukan sesuatu yang akan menarik konten objek pembungkus file gambar Anda tanpa melalui antarmuka iterasi. baca metode melakukan itu, menarik seluruh konten file jika Anda tidak memberikan argumen sejumlah byte. Jadi, hal pertama yang saya coba adalah:

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

Ini belum diuji, jadi saya mungkin mengabaikan sesuatu.

Anda juga dapat mencoba membuat profil kasus yang lebih sederhana dengan membiarkan server web hosting Anda menangani gambar, dan hanya melayani pengalihan ke URL dikembalikan dari FileField . Itu akan melibatkan perjalanan bolak-balik HTTP tambahan untuk memberi tahu browser ke mana harus mencari, jadi menurut saya tidak ada aturan universal untuk pendekatan mana yang akan lebih cepat.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO SQLSRV dan PDO MySQL mengembalikan string saat mengambil int atau float

  2. MySQL Dapatkan Waktu Sisipan Rekaman Lama?

  3. Kelompokkan menurut dengan kueri pemilihan mysql gabungan

  4. Pendekatan mana yang lebih cepat untuk mendapatkan semua POI dari MySQL/MariaDB dengan PHP/Laravel

  5. SQL:cari/ganti tetapi hanya pertama kali nilai muncul dalam catatan