2017-08-12 44 views
0

即成圖片我從我的Web服務器的Django如發送我的圖片如下:和Django

localhost:8000/media/images/foo.png 

我的問題是我在發送的圖像是正確的方法是什麼?我認爲沒有必要發送服務器,因爲我是唯一一個爲照片提供服務的人。任何想法,像這樣的media/images/foo.png。 爲了在HTML的img標記中這是相對路徑而不是鏈接。

回答

1

對於在Django提供圖像,

首先確保您有settings.py文件中定義你的MEDIA_ROOTMEDIA_URL

現在讓我們假設你有一個模型,models.py中

class SomeModel(models.Model): 
    image = models.ImageField(upload_to = 'your_directory_inside_media') 
    #Rest of the fields 

下您的看法裏,

model_object = SomeModel.objects.get(...) #get an instance of model which has an ImageField 
context = {'image' : model_object.image } 
html = render(request , 'some_html.html' , context) 

最後在HTML中,

{% load static %} 
<img src="{% get_media_prefix %}{{ image.image }}"> 

希望這有助於。謝謝。

+0

但是,我不使用django的視圖,我創建了一個角度的應用程序,併發送該URL來訪問圖像 – fm433403

+0

您可以通過使用「image.name」來獲取URL。它會給你完整的網址。 –

+0

但是,爲什麼我需要添加'{%load static%}'如果我的數據保存在'media'中? – fm433403