12

他のいくつかのスレッドを確認しましたが、まだ問題があります。FileField を含むモデルがあり、さまざまな目的で半ランダムなインスタンスを生成しています。ただし、ファイルのアップロードに問題があります。

新しいファイルを作成すると、機能しているように見えます (新しいインスタンスがデータベースに保存されます)。ファイルは適切なディレクトリに作成されますが、ファイルの内容が見つからないか破損しています。

関連するコードは次のとおりです。

class UploadedFile(models.Model):
  document = models.FileField(upload_to=PATH)


from django.core.files import File

doc = UploadedFile()
with open(filepath, 'wb+') as doc_file:
   doc.documen.save(filename, File(doc_file), save=True)
doc.save()

ありがとうございました!

4

1 に答える 1

24

ファイルを開くのと同じくらい簡単かもしれません。'wb+' (書き込み、バイナリ、追加) でファイルを開いたので、ハンドルはファイルの末尾にあります。試す:

class UploadedFile(models.Model):
  document = models.FileField(upload_to=PATH)


from django.core.files import File

doc = UploadedFile()
with open(filepath, 'rb') as doc_file:
   doc.document.save(filename, File(doc_file), save=True)
doc.save()

ファイルの先頭で開くようになりました。

于 2010-01-03T04:18:12.087 に答える