我有一些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处理这个问题。
非常感谢你的时间!
答案 0 :(得分:2)
upload_to
参数应该是相对于MEDIA_ROOT
设置的路径。您用来访问该文件的网址是附加到MEDIA_URL
设置的相同路径。
另请查看FileField
s and ImageField
s和MEDIA_ROOT
and MEDIA_URL
settings