我嘗試使用從圖片EXIF一些元數據來填充django-admin
數據庫字段。我正確解碼意味着print
確實顯示帶變音符號的字符串。但是,當我在模型上調用save()
時,字符串在數據庫中永遠不會出現(sqlite)。它適用於沒有變音符號的字符串以及含有變音符號的常量字符串。沒有任何錯誤或某些事情會給我提示錯誤的提示。這就是爲什麼我不知道要搜索什麼。
我想要的代碼的重要組成部分隔離:
該機型save
功能:
def save(self, *args, **kwargs):
self.url = slugify(self.name)
super(Photo, self).save(*args, **kwargs)
的save_model
功能在admin.py
文件:
def save_model(self, request, obj, form, change):
if("original_image" in request.FILES):
file = request.FILES["original_image"]
if (not obj.description):
from silbertools.get_exif import get_exif
obj.description = get_exif(file)
if (not obj.name):
obj.name = unicode(file)[:-4][:100]
obj.save()
相關description
字段定義如下:
description = models.TextField(blank=True)
的get_exif
功能:
def get_exif(fn):
i = Image.open(fn)
info = i._getexif()
if info:
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
if (decoded == "UserComment"):
var = value[8:].decode('latin1')
print(u"The string is: {0}".format(var))
return var
return u""
的get_exif()
功能無法正常工作,據我可以通過打印語句告訴。我確認在obj.save()
之前save_model()
中的描述設置正確。
只要字符串中存在元音變音,並且該字符串是從exif元數據中讀取的,它就不會顯示在數據庫中,但仍然沒有任何幫助。沒有錯誤,模型的其餘部分按預期添加,只是說明字段爲空。
我希望有人能夠提取足夠的信息來幫助我解決問題。
在此先感謝!
沒有那不是我的問題!我沒有得到任何錯誤!而且一切都打印得很好。它只是沒有存儲到數據庫中。 – enaut