2017-03-16 9 views
0

私はPythonとDjangoの新機能です。写真をDjangoのデータベースと自動的に同期するには?

私はDjangoを必要とするプロジェクトに取り組んでいます。このプロジェクトでは、カメラを介して写真を連続的にキャプチャし、パスC:\Users\admin\Picturesに保存します。

今、Djangoの管理サイトにログインして手動でアップロードするのではなく、DjangoのAPPが自動的にこれらの写真をデータベースと同期させたいと思います。どのようにDjangoで正しく行うには?ここで

models.pyが

from __future__ import unicode_literals 

from django.db import models 
from django.conf import settings 
from django.utils.encoding import python_2_unicode_compatible 

# Create your models here. 

@python_2_unicode_compatible 
class Image(models.Model): 
    title = models.CharField(max_length=250, blank=True) 
    original = models.ImageField(upload_to=settings.IMAGE_PREFIX, default='/tmp/none.jpg') 

    def __str__(self): 
     return self.title 

である私はこれらの写真を同期しようとしているスクリプトを書きました:

import os 
import django 

django.setup() 

from gallery.models import Image  

path = r"C:\Users\admin\Pictures" 

for filename in os.listdir(path): 
    filePath = os.path.join(path, filename) 
    thisFile = open(filePath, 'rb') 
    new_img = Image(original=thisFile, title=filename) 
    new_img.save() 

をしかし、私は以下のようなエラーメッセージを得た:

Error Message

I私がthisFileImage()に渡そうとしたときに逃したものがあるはずですが、それを修正する方法は分かりません。

ありがとうございます!

+0

これは、https://groups.google.com/forum/#!topic/django-users/GE5eCdse_OQに役立ちますか? –

答えて

0

FileField期待django Fileオブジェクトです。

import os 
import django 
from django.core.files import File 

django.setup() 

from gallery.models import Image  

path = r"C:\Users\admin\Pictures" 

for filename in os.listdir(path): 
    filePath = os.path.join(path, filename) 
    thisFile = File(open(filePath, 'rb')) 
    new_img = Image(original=thisFile, title=filename) 
    new_img.save() 
関連する問題