Как получить ссылку на файл в FileField?

как я могу получить ссылку 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

Как я могу это получить? Должен ли я создавать строку вручную?

РЕДАКТИРОВАТЬ

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?

7
задан jul 13 July 2012 в 17:26
поделиться