私はWindows 7マシンでデータクローラーを実行しています。私はCentOS 7サーバーのDjango 1.10プロジェクトに結果をリモートで挿入します。私は両方のマシンでDjangoプロジェクトのコピーを持っています。これは、ImageFieldを除くモデルのすべてのフィールドで正常に機能します。WindowsでDjangoスクリプトを実行してLinux上でモデルを作成する
ここでは、保存を行うスクリプトの一部です。
m = Object(strings=strings)
m.save()
image_content = ContentFile(requests.get(image_url).content, id + '.jpg')
m.image_file.save("C:\\Users\\Me\\Documents\\mysite.com\\imgs\\" + id + ".jpg", image_content)
m.save()
画像フィールドは次のように宣言された:Windowsマシン上で私のsettings.pyファイルに行がある
image_file = models.ImageField(upload_to='avatars/', null=True, default=None)
:最初の実行で
MEDIA_ROOT = "/var/www/mysite.com/myproj/images/"
を、エラーがありませんサーバ上のimage_feildは "。"に設定されています。セカンドランで
は、エラーがある:
IOError: C:\var\www\mysite.com\myproj\images exists and is not a directory.
だから、これはWindowsマシン上で作成されているが、私はMEDIA_ROOTは、サーバー上の宛先ディレクトリとして使用することにしたいです。
@ e4c5私はそこに書かれたくありません。私はそれがリモートサーバーに書いておきたい。 – User
@ e4c5もローカルでその場所から読み取る必要があるためです。 – User