Python Shell中带有ImageField的SyntaxError
我正在学习关于django文档的表格。我被困在ImageField。在执行示例时,它反映了语法错误 代码与Django在文档中提到的完全相同 请告诉我有什么问题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
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)}