日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Django4.0教程:Django4.0管理文件-在模型中使用文件

當(dāng)你使用 ?FileField ?或 ?ImageField? 時,Django 提供了一組處理文件的API。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供宛城企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為宛城眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

考慮下面的模型,使用 ?ImageField ?來存儲照片:

from django.db import models

class Car(models.Model):
    name = models.CharField(max_length=255)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    photo = models.ImageField(upload_to='cars')
    specs = models.FileField(upload_to='specs')

任何 Car 實例將擁有一個 photo 屬性,你可以使用它來獲取附加照片的詳情:

>>> car = Car.objects.get(name="57 Chevy")
>>> car.photo

>>> car.photo.name
'cars/chevy.jpg'
>>> car.photo.path
'/media/cars/chevy.jpg'
>>> car.photo.url
'http://media.cdxwcx.com/cars/chevy.jpg'

注解:文件在數(shù)據(jù)庫中作為保存模型的一部分,因此在模型被保存之前,不能依賴磁盤上使用的實際文件名。

car.photo 是一個 File 對象,這意味著它擁有下面所描述的所有方法和屬性。

例如,您可以通過將文件名設(shè)置為相對于文件存儲位置的路徑來更改文件名(如果你正在使用默認(rèn)的 ?FileSystemStorage ?,則為 ?MEDIA_ROOT ?)。

>>> import os
>>> from django.conf import settings
>>> initial_path = car.photo.path
>>> car.photo.name = 'cars/chevy_ii.jpg'
>>> new_path = settings.MEDIA_ROOT + car.photo.name
>>> # Move the file on the filesystem
>>> os.rename(initial_path, new_path)
>>> car.save()
>>> car.photo.path
'/media/cars/chevy_ii.jpg'
>>> car.photo.path == new_path
True

要將磁盤上的現(xiàn)有文件保存到 ?FileField?:

>>> from pathlib import Path
>>> from django.core.files import File
>>> path = Path('/some/external/specs.pdf')
>>> car = Car.objects.get(name='57 Chevy')
>>> with path.open(mode='rb') as f:
...     car.specs = File(f, name=path.name)
...     car.save()

雖然 ?ImageField ?非圖像數(shù)據(jù)屬性(例如高度、寬度和大?。┰趯嵗峡捎?,但如果不重新打開圖像,則無法使用底層圖像數(shù)據(jù)。 例如:

>>> from PIL import Image
>>> car = Car.objects.get(name='57 Chevy')
>>> car.photo.width
191
>>> car.photo.height
287
>>> image = Image.open(car.photo)
# Raises ValueError: seek of closed file.
>>> car.photo.open()

>>> image = Image.open(car.photo)
>>> image

網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)Django4.0教程:Django4.0管理文件-在模型中使用文件
鏈接URL:http://www.dlmjj.cn/article/cccdpgj.html