第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 ImageField Django 2.0 獲取 EXIF 數(shù)據(jù)

從 ImageField Django 2.0 獲取 EXIF 數(shù)據(jù)

明月笑刀無情 2021-07-19 16:05:36
我的任務(wù)是提取通過 DJANGO 2.1.2 上傳的照片的 exif 數(shù)據(jù),這是我的model.py更新模型:class UploadedImage(models.Model):    image = models.ImageField(        "Uploaded image", upload_to=scramble_uploaded_filename, height_field='height', width_field='width')    uploaded_at = models.DateTimeField(default=timezone.now)    width = models.PositiveIntegerField(editable = False)    height = models.PositiveIntegerField(editable = False )     camera = models.CharField(max_length=10, editable = False)    latitud = models.CharField(max_length=20, editable = False)    longitud = models.CharField(max_length=20, editable = False)    meta = ExifField(        source='image',        denormalized_fields={            'camera': exifgetter('Model'),            'latitud': exifgetter('GPSLatitude'),            'longitud': exifgetter('GPSLongitude'),        },    )有關(guān)如何使用此模型的一些指導(dǎo)將很樂意提供幫助。
查看完整描述

1 回答

?
幕布斯7119047

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 存儲庫中打開一個問題!


查看完整回答
反對 回復(fù) 2021-07-21
  • 1 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號