Quản lý file đã upload trong Django

Subscribe to my newsletter and never miss my upcoming articles

Theo mặc định, Django lưu trữ các file cục bộ bằng cách sử dụng các cài đặt MEDIA_ROOTMEDIA_URL.

Sử dụng các file trong model

Khi bạn sử dụng một FileField hoặc ImageField, Django cung cấp một tập các API bạn có thể sử dụng để làm việc với file này.

Xét model sau đây, sử dụng một ImageField để lưu ảnh:

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")

Mọi thực thể của Car sẽ có thuộc tính photo mà bạn có thể sử dụng để lấy chi tiết về ảnh đã upload:

>>> car = Car.objects.get(name="57 Chevy")
>>> car.photo
<ImageField: cars/chevy.jpg>
>>> car.photo.name
'cars/chevy.jpg'
>>> car.photo.path
'/media/cars/chevy.jpg'
>>> car.photo.url
'http://media.example.com/cars/chevy.jpg'

No Comments Yet