Vì vậy, nếu client.post đang mong đợi một tập tin như đối tượng, bạn có thể tạo ra một hình ảnh ví dụ (nếu bạn muốn trực quan kiểm tra kết quả sau khi xét nghiệm) hoặc chỉ làm cho một 1px png và đọc nó ra từ console
open('1px.png', 'rb').read()
mà trong trường hợp của tôi đổ ra
image_data = '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\tpHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\x07\xdb\x0c\x17\x020;\xd1\xda\xcf\xd2\x00\x00\x00\x0cIDAT\x08\xd7c\xf8\xff\xff?\x00\x05\xfe\x02\xfe\xdc\xccY\xe7\x00\x00\x00\x00IEND\xaeB`\x82'
sau đó bạn có thể sử dụng StringIO hoạt động như một tập tin như đối tượng, vì vậy ở trên, hình ảnh sẽ là
from StringIO import StringIO
def test_issue_add_post(self):
...
image = StringIO(image_data)
...
và bạn sẽ có một tập tin như đối tượng với các dữ liệu hình ảnh
im dốt nát của django, nhưng client.post mong đợi cho một hình ảnh là gì? một tệp như đối tượng? một chuỗi byte? – dskinner
@dskinner Một đối tượng giống như tệp –