get_media_prefix与MEDIA_URL的区别是什么?
关于Django中get_media_prefix与MEDIA_URL的区别
在你给出的示例场景里,两者生成的链接确实完全一致,但它们存在以下区别:
使用范围不同
MEDIA_URL是Django的全局配置项,既能在Python代码(比如视图、模型文件)里直接调用,也能在模板中作为变量使用({{ MEDIA_URL }})。{% get_media_prefix %}是专属的模板标签,只能在Django模板里使用,而且必须先在模板开头加载{% load static %}才能生效。
本质逻辑关联
get_media_prefix模板标签的核心作用就是返回MEDIA_URL的配置值,所以在当前版本的Django中,两者的输出结果完全相同。
你的示例代码:
MEDIA_URL = 'media/'
模板代码:
<a href="{{MEDIA_URL}}uploads2/711397.png">link</a> <a href="{% get_media_prefix %}uploads2/711397.png">link</a>
内容的提问来源于stack exchange,提问作者Kanapek
相关产品推荐
相关产品推荐

