Web sitem resimlerimi cassandra veritabanında saklamak istiyorum! Görüntünün baytlarını okumalı ve depolamalıyım. Benim için güzel bir kodun var mı? Python2.7, django framework ve cql-engine kullanıyorum!Cql motorunu kullanarak görüntüyü cassandra veritabanında Bayt alanı olarak nasıl depolarsınız?
1- Benim Modeli:
from cqlengine import columns
from cqlengine.models import Model
class UserImage(Model):
Email = columns.Text(primary_key=True)
image=columns.Bytes(required=False)
2- Benim Form:
class UserImage(forms.Form):
image=forms.ImageField()
3- Benim Görünüm:
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))
Bu
benim kodudurBenim Şablon:
{% block content %}
<form enctype="multipart/form-data" method="post" action="">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Upload</button>
</form>
{% endblock %}
Rendered Şablon My HATA:
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
senin fikrin nedir? Lütfen bana yol göster ...
Ben şahsen ikili dosyaları veritabanında (resim, ses ve video gibi özel medya dosyalarını) tasarruf kaçınmaya çalışın. Genellikle URL'yi veritabanındaki görüntüye kaydederim, ancak görüntü verileri, kullanıcıların indirmelerini hızlandırmak için Cloudfront CDN ile Amazon S3 gibi bir yere kaydedilir. Bu http://django-storages.readthedocs.org/en/latest/ için zaten bir django eklentisi var. – Jared