做了一個關于Django的小案例,想要在網頁中顯示圖片,直接在img標簽的src屬性寫圖片的路徑是不能顯示的,查詢資料發現在Django中使用圖片這類的資源相當繁瑣需要進行一定D的配置,摸索了一會沒有整明白,想到了寫Java時使用文件流返回圖片,于是想到使用該種方式來顯示圖片。
使用實例如下:
views.py
1
2
3
4
5
6
7
8
|
def my_image(request,news_id): d = path.dirname(__file__) #parent_path = path.dirname(d) print("d="+str(d)) imagepath = path.join(d,"static/show/wordimage/"+str(news_id)+".png") print("imagepath="+str(imagepath)) image_data = open(imagepath,"rb").read() return HttpResponse(image_data,content_type="image/png") #注意舊版的資料使用mimetype,現在已經改為content_type |
urls.py
1
2
3
4
5
6
|
urlpatterns = [ url(r'^index/$', views.index,name="index"), url(r'^search/$', views.search,name="search"), url(r'^science/(?P< news_id >.+)/$', views.science,name="science"), < strong >url(r'^image/(?P< news_id >.+)/$',views.my_image,name="image"),</ strong > ] |
temlate:
1
|
< img src = "{% url 'show:image' param.id %}" alt = "{{param.id}}" /> |
以上這篇Django使用HttpResponse返回圖片并顯示的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/liuweiyuxiang/article/details/71152956