私は味覚にapiを作っているモデルがあります。私は手動で維持するファイルへのパスを格納するフィールドを持っています(私はFileField
を使用していません、ユーザーはファイルをアップロードしていないので)。ここでは、モデルの要点れる:FileField in Tastypie
class FooModel(models.Model):
path = models.CharField(max_length=255, null=True)
...
def getAbsPath(self):
"""
returns the absolute path to a file stored at location self.path
"""
...
ここでは私のtastypieの設定です:ファイルフィールドのAPIの
class FooModelResource(ModelResource):
file = fields.FileField()
class Meta:
queryset = FooModel.objects.all()
def dehydrate_file(self, bundle):
from django.core.files import File
path = bundle.obj.getAbsPath()
return File(open(path, 'rb'))
これは、ファイルへのフルパスを返します。私はtastypieが実際のファイルまたは少なくともURLをファイルに提供できるようにしたい。それ、どうやったら出来るの?すべてのコードスニペットが高く評価されています。
はありがとう
'FileWrapper 'はどこから来たのですか? –
'django.core.servers.basehttpからインポートFileWrapper' – astevanovic
これはクライアントにストリームされた後にファイルハンドルを閉じますか? –