html - Django将单词添加到图像url
问题描述
我想使用以下方法在我的模板上加载图像:
<img src="{{ item.pic }}">
它有时可以正常工作,但是一旦我从视图开始执行此操作,它就会自动将该视图的路径添加到我的图像 src 中,从而导致图像无法加载。
我希望它是
src="images/item.jpg"
例如,但由于不同的观点,它可能最终成为
"view1/images/item.jpg"
或者
"anotherview/images/item.jpg"
导致 Django 无法找到图像。有没有办法对其进行编码,以便不会将视图名称添加到 src 中?
解决方案
您应该使用绝对 URL,您可以这样做:
<img src="/{{ item.pic }}">
通常,如果这是 a FileField
(或者ImageField
是 a 的子类FileField
),您可以让 Django 确定 URL:
<img src="{{ item.pic.url }}">
在这种情况下,Django 将使用MEDIA_URL
[Django-doc]并提供这些文件。在生产中,你需要配置一个像 Apache、Nginx 等的网络服务器;或者让内容交付网络 (CDN) 为这些文件提供服务。
推荐阅读
- r - 如何用 lubridate 求和或平均多个重叠时间间隔?
- java - 如何转换列表
到一个字符串? - java - Rock Paper Scissors 程序无法正常运行的方面
- graphql - 如何使用 prismic graphql api 按链接文档/关系的 uid 过滤?
- javascript - 关闭选项卡/浏览器时如何注销用户?
- jquery - 使用 jQuery 将数据发布到 tibco
- python - Django模板不从模型返回对象列表
- java - 如何使用开始和结束字符验证构建验证正则表达式?
- vb.net - 当文本框中的文本等于某个单词时,我需要在组合框中为该文本保存值
- google-chrome - Cypress.io - 函数访问需要很长时间,它正在等待所有资源都加载完毕