我想把我的网站图片存储在卡桑德拉数据库!我必须读取并存储图像字节。你有好的密码给我吗?我使用的是python2.7、django框架和cql引擎!在
这是我的代码:
1-我的型号:
from cqlengine import columns
from cqlengine.models import Model
class UserImage(Model):
Email = columns.Text(primary_key=True)
image=columns.Bytes(required=False)
2-我的表格:
^{pr2}$3-我的观点:
from MainAPP.models import UserImage as UserImageModel
from MainAPP.forms import UsersForms
from django.http import HttpResponse
from cqlengine import connection
from PIL import Image
def UploadImage(request):
if request.method == 'POST':
form = UsersForms.UserImage(request.POST, request.FILES)
if form.is_valid():
try:
image_data=Image.open(request.FILES['image'])
except IOError:
return HttpResponse("cannot upload %s"% request.FILES['image'].name)
connection.setup(['127.0.0.1:9160'])
UserImageModel.create(Email='ebrahimi.omid69@gmail.com', image=image_data)
return HttpResponse('Stored Successfully!')
else:
form= UsersForms.UserImage()
return render_to_response('Users/uploadImage.html', {'form': form}, context_instance=RequestContext(request))
我的模板:
{% block content %}
<form enctype="multipart/form-data" method="post" action="">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Upload</button>
</form>
{% endblock %}
呈现模板中的错误:
AttributeError at /uploadImage
encode
Request Method: POST
Request URL: http://127.0.0.1:8000/uploadImage
Django Version: 1.5.1
Exception Type: AttributeError
Exception Value: encode
你的想法是什么?请引导我。。。在
我编辑的视图: 我们可以在cassandra中存储图像,而不使用PIL:
如果您查看收到的异常消息,它会显示AttributeError:encode。这告诉你在代码路径的某个地方,有东西在某个对象上寻找一个名为“encode”的属性(或者很可能是一个方法),但是没有找到它。在
我怀疑您没有将正确的duck类型的对象传递给cquengine用户图像.image. 它会说PIL图像对象吗?我对此表示怀疑。我敢打赌cquengine正在寻找典型的python string method.encode(http://docs.python.org/2/library/stdtypes.html#str.encode)。不要传递PIL图像,而是尝试只传递从表单发布中接收的原始字节。在
相关问题 更多 >
编程相关推荐