1

djangoで画像をアップロードしようとしていますが、これまでのところupload_to、データベースフィールドにディレクトリが作成されたりファイルソースが表示されたりすることはありません。

私のモデル。

class Person(models.Model):
  photo = models.ImageField(upload_to='profiles/', null=True, blank=True)

私の見解

def create_profile(request):
    if request.method == "POST":
        form = PartialPersonForm(request.POST, request.FILES,)
        addressForm = PartialAddressForm(request.POST)

アップロードして保存すると、エラーは発生しません。とにかく、これをデバッグして、写真フィールドが設定されているかどうかを確認できます。

 <div class="photo-upload">{{ form.photo|attr:"onchange:readURL(this);" }}
4

2 に答える 2

2

メディアストレージに関して特別なことをしているのでない限り、アップロードされたファイルを保存するディレクトリにMEDIA_ROOTを設定する必要があります。

ファイルタイプフィールドを処理するときは、 FileField.storageのDjangoドキュメントの指示に従う必要があります。

save()ビューでは、アップロードされたフォームデータを取得する必要があります。

def create_profile(request):
    if request.method == "POST":
        form = PartialPersonForm(request.POST, request.FILES,)
        addressForm = PartialAddressForm(request.POST)
        form.save()
        addressForm.save()
于 2013-01-27T04:05:36.800 に答える
-2

私はあなたがupload_toディレクトリを自分で作成するべきだと信じています。また、ディレクトリに適切な権限を設定してください。そうしないと、ディレクトリに書き込むことができません。

于 2013-01-26T23:43:14.130 に答える