2017-09-20 14 views
0

the django documentationを参照して私のプロジェクトのdjangoユニットテストを作成し始めました。しかし、私の場合、雲の中への画像のアップロードをテストする方法、インポートが成功したかどうかを知る方法に関する文書を見つけることはできません。djangoで雲の中に画像をインポートする方法をテストするには?

私は絵のアップロードテストするには、このユニットテストを作成しました:

def test_upload_profile_picture(self): 
     url = self.reverse('save_profile_picture') 
     img = '/images/img.jpg' 
     self.client.login(username=self.username, password=self.password) 
     with open(img, 'rb') as infile: 
     response = self.client.post(url, {'picture': infile}) 
     self.assertRedirects(response, self.reverse('edit_profile')) 

をしかし、私は、画像が本当にcloudinaryかにアップロードされている場合、私は本当に知らないので、これは正しくないと思います。

誰かにこれを行う方法についてのアイデアはありますか? ありがとうございます。

答えて

-1

ここでは、曇りで提供されているlinkには、写真を曇天にアップロードし、後で回答を得る方法の例があります。そのためには、雲をインストールする必要があります。

Cloudinaryでは、djangoのビルドモデルも提供しています。あなたは置くことによってそれらをインポートすることができます。
from cloudinary.models import CloudinaryField

class SomeModel(models.Model): 
    user = models.ForeignKey(User) 
    image = CloudinaryField(u'Cloudinary Image',blank=True,null=True) 

あなたは自分のアップロードオプションを定義することができます。

class OtherCloudinaryField(CloudinaryField): 
    def upload_options(self, model_instance): 
     return { 
      'unique_filename': True, 
      'resource_type': 'image', 
      'width': 1024, 
      'height': 768, 
      'format':'png', 
      'tags': [model_instance.user.email], 
      'invalidate': True, 
      'quality': 95, 
     } 

次に、お使いのモデルに使用してください。あなたはsettings.pyにcloudinary設定を置く場合は、モデルに写真をアップロードするとき

class SomeModel(models.Model): 
     user = models.ForeignKey(User) 
     image = OtherCloudinaryField(u'Cloudinary Image',blank=True,null=True) 

、それは直接あなたのcloudinaryアカウントにアップロードされ、この写真のリンクは、あなたの属性に保存されます。

+0

返信いただきありがとうございますが、私はすでに私のユーザーモデル内の曇りフィールドとして自分のイメージフィールドを定義しています。私の質問は、曇ったイメージをアップロードするためのdjangoユニットテストを作成する方法です。 –

関連する問題