Categories
Python Answers

How to create a file and save it to a model’s FileField with Python Django?

Spread the love

To create a file and save it to a model’s FileField with Python Django, we can open the file with open.

And then we can call save with the file.

For instance, we write

from django.core.files.base import File

with open('/path/to/file') as f:
    self.license_file.save(new_name, File(f))

to open the file at the given path with open.

Then we create File object with file handle f.

And then we call save with the file name and the File object we created.

We can also use ContentFile if we want to create a file without opening a file.

For instance, we write

from django.core.files.base import ContentFile

self.license_file.save(new_name, ContentFile('A string with the file content'))

to create a ContentFile with a string and save it by calling save with the file name and the ContentFile.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *