假设我在C:/myimage.jpg
的服务器计算机(Windows上的Django)上有一个映像。我想在客户端计算机上显示此图像。图像路径作为上下文变量image_path
传递给模板。重要的是路径是绝对的而不是相对的。这是我对模板的尝试:
<img src="{{ image_path }}" />
但是,客户端根本看不到图像。我的第一个猜测是,当它读取image_path
时,它实际上读取C:/myimage.jpg
,因此在客户端计算机而不是服务器上查找。如何让它在服务器上查找图像呢?
答案 0 :(得分:0)
在应用程序中使用静态内容的绝对路径不是一个正确的想法。您应该使用以下方法使用图像,
在settings.py
STATIC_URL = '/static/'
然后使用
访问图像{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>
请阅读guidelines了解详情
答案 1 :(得分:0)
即使您可以告诉浏览器查看服务器上的特定文件位置,这怎么可能是一个好主意?如果用户输入包含数据库凭据的settings.py文件的路径,该怎么办?
显然,您只能通过URL查找文件,这些URL实际上必须由服务器映射到实际文件。因此,您需要配置Web服务器,使其将URL映射到文件所在的位置,然后您可以在模板中使用该URL。