django - 当 django 项目加载到 heroku 网站时,图片 url 不显示我上传的图片
问题描述
我上传的图片在上传到 heroku 时没有加载,我认为这与静态文件问题无关。当我设置 debug = False 他们很好,我知道当它是 false 时,django 使用自己来托管静态资产。所以设置它和我的图像加载正常,但如果我在 heroku 或我的本地环境上设置 Debug = True,情况并非如此。有人可以帮我解决这个问题。
模板
<img class="img-fluid" style="height:auto;" src="{{post.work_img.url}}" alt="Generic placeholder image">
模型
class WorkExp(models.Model):
work_img = models.ImageField(upload_to="work_images/")
应用程序/urls.py
urlpatterns = [
path("carrer/", WorkExpView, name="carrer_page"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
项目/urls.py
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("blog.urls", namespace="blog")),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
解决方案
在 project/urls.py 试试这个
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
代替
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
并设置 debug = True
推荐阅读
- php - Wordpress网站SQL查询获取
- laravel - 可以使用 React native(Android) 在 laravel api 中插入更新和删除数据吗?
- javascript - React 的 forceUpdate 方法理论上能比 setState 更及时地更新吗?
- reactjs - 如何在组件外部访问 React useContext?
- python - 在 spaCy 中,解析句子时如何将专有名词保持在一起?
- croppie - Croppie:如何以 JPEG 而不是默认的 PNG 格式获取输出图像?
- amazon-dynamodb - DynamoDB putItem 并更新单个字段
- python - 如何扩展一个类是Python
- python - 为什么python只打印字典中的最后一个键?
- python - 为具有比较的函数创建网格网格