どうすればのリンクを取得できFileField
ますか?url
フィールドを試しましたが、ファイルパスが表示されます。
In [7]: myobject.myfilefield.path
Out[7]: u'/home/xxxx/media/files/reference/1342188147.zip'
In [8]: myobject.myfilefield.url
Out[8]: u'/home/xxxx/media/files/reference/1342188147.zip'
私は得ることを期待していましたhttp://<mydomain>/media/files/reference/1342188147.zip
どうすればそれを取得できますか?文字列を手動で作成する必要がありますか?
編集
MEDIA_URLが設定されていませんが、それでも機能させることができません。
settings.py
MEDIA_ROOT = '/home/xxx/media/'
MEDIA_URL = 'http://xxx.com/media/'
models.py
class Archive(models.Model):
#...
file = models.FileField(upload_to="files")
シェルで
a = Archive()
a.file = "/some/path/to/file.txt"
a.save()
それから私はのために得るa.path
:
"/some/path/to/file.txt"
とのためにa.url
:
"http://xxx.com/media/some/path/to/file.txt"
プログラムでa.file = "/some/path/to/file.txt"
実行すると、ファイルはにアップロードされませんMEDIA_ROOT
。で定義されたディレクトリにファイルをアップロードするにはどうすればよいですか?upload_to
私の場合はどうすればよい/home/xxx/media/file.txt
ですか?