4 回答
TA贡献1906条经验 获得超10个赞
你需要使用{% get_media_prefix %}标签。
您必须在设置中设置 和 并将其添加MEDIA_ROOT到您的 urls.py 中,如本文档中所示。并像这样更改您的模板代码:MEDIA_URLMEDIA_URL
{% load static %}
....
<div class="category-img"><img src="{% get_media_prefix %}logo.png" alt=""></div>
此标签正确加载 Django 设置中媒体文件路径设置的 URL。如果您想在服务器中部署项目或使用挂载外部服务器来加载媒体,只需更改 django 项目中的媒体设置。
在网站中保存要用作静态的图像的最佳做法,将此类文件保存在静态文件夹中,并使用 django 项目中的媒体文件夹将所有上传的文件保存在 Web 应用程序中。
{{object.field.url}}并通过将 Django 模型对象传递给模板来加载它们,并使用Django 模板中的标签加载 URL 。
TA贡献1811条经验 获得超6个赞
媒体文件是通过数据库添加的文件。对于不改变的文件使用静态。我也不明白如果有PDF文件会有什么问题。为什么不能把它放在静态中?
但无论如何,你的设置没有问题。问题出在bookinfo
中的一个函数中views.py
。它说存在 a KeyError
,这意味着您正在访问字典中不存在的内容。我的猜测是zonar
设置为"media"
或books[zonar].index(book_name)
结果为"media"
。更正该错误后,媒体文件就应该可以正常使用了。
TA贡献1820条经验 获得超10个赞
在模板中,要设置图像外观的位置使用代码
<img src="{% get_media_prefix %}{{uploaded_file}}" alt="File 2">
uploaded_file
图像文件的名称在哪里。这是假设您的文件上传到根媒体文件夹中。
TA贡献1790条经验 获得超9个赞
尝试使用静态:
STATIC_URL="/static/"
STATIC_ROOT=os.path.join(BASE_DIR,"static/")
并将图像文件存储在 static 文件夹中,它应该位于 django 应用程序文件夹内。
--static/
--img/
--logo.png
{% load static %}
<div class="category-img">
<img src="{% static 'img/logo.png' %}" alt="">
</div>
添加回答
举报