Django5中使用配置Media的方法
1. 首先是setting文件
STATIC_URL = 'static/'
MEDIA_URL = "media/"
MEDIA_ROOT = BASE_DIR / 'media'
STATIC_ROOT = BASE_DIR / 'static'
STATICFILES_DIRS = [
os.path.join(STATIC_ROOT, "js"),
os.path.join(BASE_DIR, 'collect_static')
]
2. 然后在最外层urls.py中增加如下语句
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这里的static导入的是:
from django.conf.urls.static import static
3. 在html使用模板语法时应这么用
<img style="height: 120px;width:90px" src="{{ MEDIA_URL }}{{ book.cover_image.url }}" alt="图片">
最终呈现的地址就类似:
http://localhost:8000/media/images/Scene_E_1.jpg
解释一下:
一是在我的model中,cover_image是一个ImageFiled属性值,定义如下:
cover_image = models.ImageField(
upload_to='images',
null=True,
blank=True
)
也就是说,我上传的图片都被放在了
[工程路径]/media/images
路径中。
二是当你在template中使用model值时,Django会自动给你增加一个名为“url”的属性。

墨笑
如果我的文章能帮到你,还请不吝打赏,五块三块不嫌多,一块五毛不嫌少
版权属于:
墨笑的精神小憩之地 的博客
本文链接:
https://www.whisperdiary.cn/index.php/archives/80/
作品采用:
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可
推荐阅读
评论已关闭