Объединение нескольких идей из этой и других публикаций в стеке с использованием Python 3. Никаких внешних файлов или библиотек не требуется.
from django.core.files.uploadedfile import SimpleUploadedFile
png_hex = ['\x89', 'P', 'N', 'G', '\r', '\n', '\x1a', '\n', '\x00',
'\x00', '\x00', '\r', 'I', 'H', 'D', 'R', '\x00',
'\x00', '\x00', '\x01', '\x00', '\x00', '\x00', '\x01',
'\x08', '\x02', '\x00', '\x00', '\x00', '\x90',
'w', 'S', '\xde', '\x00', '\x00', '\x00', '\x06', 'b', 'K',
'G', 'D', '\x00', '\x00', '\x00', '\x00',
'\x00', '\x00', '\xf9', 'C', '\xbb', '\x7f', '\x00', '\x00',
'\x00', '\t', 'p', 'H', 'Y', 's', '\x00',
'\x00', '\x0e', '\xc3', '\x00', '\x00', '\x0e', '\xc3',
'\x01', '\xc7', 'o', '\xa8', 'd', '\x00', '\x00',
'\x00', '\x07', 't', 'I', 'M', 'E', '\x07', '\xe0', '\x05',
'\r', '\x08', '%', '/', '\xad', '+', 'Z',
'\x89', '\x00', '\x00', '\x00', '\x0c', 'I', 'D', 'A', 'T',
'\x08', '\xd7', 'c', '\xf8', '\xff', '\xff',
'?', '\x00', '\x05', '\xfe', '\x02', '\xfe', '\xdc', '\xcc',
'Y', '\xe7', '\x00', '\x00', '\x00', '\x00',
'I', 'E', 'N', 'D', '\xae', 'B', '`', '\x82']
valid_png_bin = str.encode("".join(png_hex))
png = SimpleUploadedFile("test.png", valid_png_bin)
post_dict = {'title': 'Test Title'}
file_dict = {'picture': png}
form = MyForm(data=post_dict, files=file_dict)