1 回答

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊
我還需要圖像中的 EXIF 信息,但找不到好的解決方案。這就是為什么我為 Django 開發(fā)了一個字段,它使用exiftool提取 EXIF 信息并將它們存儲在數(shù)據(jù)庫中:django-exiffield。
簡單安裝django-exiffield,確保exiftool已安裝并向您的模型添加一個新字段:
from exiffield.fields import ExifField
class UploadedImage(models.Model):
image = models.ImageField(
"Uploaded image", upload_to=scramble_uploaded_filename,
exif = ExifField(
source='image',
)
由于在內(nèi)部ExifField使用JSONField,您可以使用適當(dāng)?shù)逆I訪問各個值,例如print(image.exif['Model'])。
如果您需要通過某些 EXIF 值過濾圖像或需要經(jīng)常訪問其中的某些值,則對它們進(jìn)行非規(guī)范化是有意義的。該模塊提供了一種簡單的方法來做到這一點,例如。非規(guī)范化相機(jī)模型:
from exiffield.fields import ExifField
from exiffield.getters import exifgetter
class UploadedImage(models.Model):
image = models.ImageField()
camera = models.CharField(
editable=False,
max_length=100,
)
exif = ExifField(
source='image',
denormalized_fields={
'camera': exifgetter('Model'),
},
)
您可以在其自述文件中找到有關(guān)該模塊的更多信息。
如果您有任何問題,請隨時提出,如果模塊有任何問題,請在 GitHub 存儲庫中打開一個問題!
添加回答
舉報