django图像上传目录和模板处理

时间:2013-07-27 19:36:42

标签: django image view

我有一些FileField()模型如下:

image = models.FileField(upload_to='/Users/john/projects/MyDjangoApp/foobars/images/')

所以foobar是MyDjangoApp的一些模块。 将来会出现像barfoos这样的另一个模块,这将有一个自己的图像文件夹。

我不明白的是如何在模板中处理这个问题。 现在有类似的东西:

<td><img src="{{ foobar.image.url }}" height="350" width="350"></td>

所以有以下几点:

/Users/john/projects/MyDjangoApp/foobars/images/71RkbKwBxnL._SL1004_.jpg

但必须如此:

http://127.0.0.1:8000/foobars/images/71RkbKwBxnL._SL1004_.jpg

如果图像托管在/ MyDjangoApp / static / images中,我希望处理/ MyDjangoApp / foobars / images以及/ MyDjangoApp / barfoos / images中的文件,我发现所有的url模式只能处理这个。

何在Django处理这个问题。

非常感谢你的时间!

1 个答案:

答案 0 :(得分:2)

upload_to参数应该是相对于MEDIA_ROOT设置的路径。您用来访问该文件的网址是附加到MEDIA_URL设置的相同路径。

另请查看FileFields and ImageFieldsMEDIA_ROOT and MEDIA_URL settings

上的文档