Python Shell中带有ImageField的SyntaxError

Python Shell中带有ImageField的SyntaxError,python,django,Python,Django,我正在学习关于django文档的表格。我被困在ImageField。在执行示例时,它反映了语法错误 代码与Django在文档中提到的完全相同 请告诉我有什么问题 from PIL import Image from django import forms from django.core.files.uploadedfile import SimpleUploadedFile class ImageForm(forms.Form): img = forms.ImageField() f

我正在学习关于django文档的表格。我被困在ImageField。在执行示例时,它反映了语法错误 代码与Django在文档中提到的完全相同

请告诉我有什么问题

from PIL import Image
from django import forms
from django.core.files.uploadedfile import SimpleUploadedFile
class ImageForm(forms.Form):
     img = forms.ImageField()
file_data = {'img': SimpleUploadedFile('test.png', <file data>)}
form = ImageForm({}, file_data)
从PIL导入图像
来自django导入表单
从django.core.files.uploadedfile导入SimpleUploadedFile
类ImageForm(forms.Form):
img=forms.ImageField()
文件_data={'img':SimpleUploadedFile('test.png',)}
form=ImageForm({},文件\数据)
请参见python shell中表示的语法错误

file_data = {'img': SimpleUploadedFile('test.png', <file data>)}
  File "<console>", line 1
    file_data = {'img': SimpleUploadedFile('test.png', <file data>)}
                                                       ^
SyntaxError: invalid syntax
file_data={'img':SimpleUploadedFile('test.png',)}
文件“”,第1行
文件_data={'img':SimpleUploadedFile('test.png',)}
^
SyntaxError:无效语法

谢谢你

文件的
行中,
应替换为bytes对象

如果
test.png
是图像文件,则可以用

img_file = open('test.png', 'rb')
file_data = {'img': SimpleUploadedFile('test.png', img_file.read())}
img_file.close()


只是一个占位符,你需要像object一样传递一些字节。@AbdulAzizBarkat谢谢你的回复。请详细说明如何获取bytes对象。请尝试
SimpleUploadedFile('test.png',b'random\u text\u here')
,尽管这可能会导致格式无效(因为
b'random\u text\u here'
不是正确的图像数据)
img_data = None
with open('test.png', 'rb') as img_file:
    img_data = img_file.read()

file_data = {'img': SimpleUploadedFile('test.png', img_data)}