预警,我对Django和Python很新。所以我的图像与我的所有其他网址完美呈现。但是我可以说我有一个博客,当我编辑博客帖子时,网址如下:
http://127.0.0.1:8000/post/14/edit/
或者添加评论:
http://127.0.0.1:8000/post/3/comment/
图像无法呈现这些网址。这种模式似乎很明显,但我仍然不知道问题是什么。现在,如果我只是用url创建一个新帖子:
http://127.0.0.1:8000/post/new/
图像渲染得很好。这是一个缓存问题还是什么?我已经尝试清除我的缓存,它会工作一点点,然后无法再渲染。有什么建议?提前谢谢!
答案 0 :(得分:1)
您正在对您的静态网址进行硬编码,这些网址会在网页的网址发生变化时发生变化,因为它们是相对的。
../../static/images/logo.png
Django提供{% static %}
标记用于生成这些网址。替换为:
{% static 'images/logo.png' %}
在/post/new/
,您的相对静态网址会解析为/static/images/logo.png
,但在您的修改页面上,它会解析为/post/static/images/logo.png
。