【问题标题】:Images not rendering in Django in pages with forms带有表单的页面中未在 Django 中呈现的图像
【发布时间】:2017-08-04 07:20:39
【问题描述】:

预警,总的来说,我对 Django 和 Python 很陌生。所以我的图像与我所有的其他 url 完美呈现。但是假设我有一个博客,当我编辑博客文章时,网址如下:

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/

图像渲染良好。这是缓存问题还是什么?我已经尝试清除我的缓存,它会工作一点,然后再渲染失败。有什么建议?提前致谢!

【问题讨论】:

  • 你能分享 urls.py、views.py、forms.py 和你正在渲染的 HTML 的小提琴/公共 git 存储库吗?

标签: python django image caching browser-cache


【解决方案1】:

您正在对静态 URL 进行硬编码,由于它们是相对的,因此当页面的 URL 发生更改时会中断。

../../static/images/logo.png

Django 提供了一个{% static %} 标签来生成这些 URL。替换为:

{% static 'images/logo.png' %}

/post/new/,您的相对静态 URL 解析为 /static/images/logo.png,但在您的编辑页面上,它解析为 /post/static/images/logo.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2014-02-10
    • 2023-03-15
    • 2019-01-30
    相关资源
    最近更新 更多