自分のウェブサイトの画像をcassandraデータベースに保存したい!私は画像のバイトを読み込んで保存する必要があります。あなたは私にとって素晴らしいコードを持っていますか?私はpython2.7、djangoフレームワークとcqlエンジンを使用しています!cqlエンジンを使用して、画像をBytesフィールドとしてcassandraデータベースに格納する方法は?
これは私のコードです:
の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 - マイフォーム:
class UserImage(forms.Form):
image=forms.ImageField()
、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='[email protected]', 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 %}
レンダリングテンプレートマイERROR:
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
あなたの考えは何ですか?私を案内してください...
を私は個人的には、データベース内のバイナリファイル(画像、音声およびビデオのような特別のメディアファイル)を保存しないようにしてください。私は通常、データベースの画像にURLを保存しますが、画像データはAmazon S3 for Cloudfront CDNのように保存され、ユーザーのダウンロード速度が向上します。このhttp://django-storages.readthedocs.org/en/latest/のためにすでにdjangoアドオンがあります – Jared