0
我有一些模型用的FileField()看起來是這樣的:Django的圖像上傳目錄和模板處理
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
所有URL模式我只找到處理這個問題如果託管在/ MyDjangoApp/static/images中的圖像,我希望處理/ MyDjangoApp/foobars/images和更高版本/ MyDjangoApp/barfoos/images中的文件。
何在Django中處理這個問題。
非常感謝您的時間!
這就是正確的,但我會多MEDIA_ROOT並在此多MEDIA_URL設置,我怎麼能實現這一點。我的兩個「packeges」都有自己的MEDIA_ROOT路徑,這就是爲什麼模型中的upload_to是絕對路徑。 – user1644033
現在我在模型中設置了以下內容:MEDIA_URL ='http://127.0.0.1:8000/'和MEDIA_ROOT ='/ Users/john/projects/MyDjangoApp /':image = models.ImageField(upload_to = 'foobars/images')我得到的文件url:http://127.0.0.1:8000/foobars/images/71bYTz3ti6L._SL1200_.jpg但404但圖像仍然存在上傳工作正常...感謝您的每一個幫助! – user1644033
查看[這個問題](http://stackoverflow.com/questions/5517950/django-media-url-and-media-root)幫助你解決404錯誤。一般來說最好使用相對URL,所以'MEDIA_URL ='127.0.0.1:8000 /''變成'MEDIA_URL ='/''。 – knbk