django - django 媒体图像不会显示
问题描述
我在服务器上部署了一个 Django 项目。该项目有一个博客应用程序,您可以在其中从管理页面添加帖子。每个帖子都有一些段落、标题和图像。帖子创建得很完美,但有时当我重新访问该网站时,我上传的图片不会显示。
我发现如果我通过按 ctrl+f5 清除浏览器的缓存,就会显示图像。清除缓存后一切恢复正常。但这不行,很明显,我不能告诉每个用户清除他们的浏览器缓存。
设置.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
我在我的主要 urls.py 中添加了这一行:
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这是模板:
{% for post in posts %}
<div class="container-fluid blog-main mb-5">
<a href="{% url 'news-anjoman-detail' post.slug %}">
<div class="row">
<div class="col-lg-5 pt-5 pb-3 my-5">
<h5>{{ post.title | persianize_digits }}</h5>
<p>{{ post.summ | persianize_digits }} </p>
<hr>
<small>{{ post.published|jformat:"%d %B %Y" | persianize_digits | custom_dates }} | </small>
<small>
{% for tag in post.tags.all %}
{{ tag.name }}
{% endfor %}
</small>
<br>
</div>
<div class="col-lg-7">
<img style="max-height: 400px; object-fit: cover;" src="{{ post.image.url }}" alt="">
</div>
</div>
</a>
</div>
{% endfor %}
解决方案
推荐阅读
- java - 此文本“\u0110\u0103ng nh\u1eadp”的编码类型是什么?
- java - Java - onlineUsers() 方法返回当前在线的所有用户的 ArrayList?
- javascript - 为什么这段代码不能生成瓷砖地图?
- python-3.x - /bin/sh -c /install/install_pi_python3_toolchain.sh 返回一个非零代码:100
- javascript - 如何将日期和时间时钟添加到网站?
- javascript - 我可以使用 ref.current.setState(...)
- angular - 更新仅在 ngFor 内的 Array 内更改了对象?
- android - 我想通过提供一个清除按钮来清除文本输入。虽然 iOS 对此有支持,但我没有找到任何适用于 android 的解决方案
- matlab - 最近平均分类器的距离计算
- lua - LUA 元表可以帮助检测 nilling 对象吗?