Python 在Django模板中呈现不同的图像格式

Python 在Django模板中呈现不同的图像格式,python,django,django-models,django-templates,Python,Django,Django Models,Django Templates,在我的Django项目中,我有一个模板,我必须在其中上传与动态实例对应的图像。例如:对应于一个学生模型,我有一个模板,这样我可以在一个唯一的url上提供每个学生的信息,包括个人资料照片,即/Student/Student_X。现在对于一些学生,我有一个.jpg图像,而对于其他学生,我有一个.png图像。目前,我刚刚对模板进行了硬编码,以便按照以下方式仅处理.jpg图像 <img src="{{ MEDIA_URL }}students/images/{{ student.slug }}.j

在我的Django项目中,我有一个模板,我必须在其中上传与动态实例对应的图像。例如:对应于一个学生模型,我有一个模板,这样我可以在一个唯一的url上提供每个学生的信息,包括个人资料照片,即/Student/Student_X。现在对于一些学生,我有一个.jpg图像,而对于其他学生,我有一个.png图像。目前,我刚刚对模板进行了硬编码,以便按照以下方式仅处理.jpg图像

<img src="{{ MEDIA_URL }}students/images/{{ student.slug }}.jpg">
其中student是传递给模板的上下文


我如何修改它,以便如果某个学生没有可用的.jpg图像,可以提供.png?如果存在一组多种图像格式,该怎么办?

在继续之前阅读此内容,因为了解媒体/静态文件及其差异在Django中非常重要。

实际上,您的方法可以大大简化。如果在模型中使用Django,则文件的位置存储在数据库中,无需区分图像类型

在不知道如何存储这些文件和在视图中调用学生的情况下,没有其他方法可以提供帮助,但是如果从学生模型对象调用字段,则可以将整个学生传递到上下文变量,并像这样调用slug-

Django中的媒体文件是上载到settings.py中指定位置的文件,该位置存储在db中,便于检索