将现有图像文件与Django模型相关联

时间:2014-12-17 20:16:18

标签: python django django-models django-templates django-admin

我在Django中创建了一个基本博客。我的课程之一是作者。每个都包含名称,位置,传记等,并且我试图将现有图像与每个作者关联起来,基本上用作化身。

FileField和ImageField不是我想要使用的,因为我已经静态地存储了其他地方的图像 - 我只想在Django管理员中手动指定每个图像的路径作为URL(CharField / TextField,例如,当我在模板中调用{{author.photo}}时,可以提供该图像。我也不一定想从类模型中获取图像路径,因为现有图像的结构和路径可能会发生变化。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

嗯,你必须将它保存在某个地方才能映射用户和图像......

所以我可以想到2个解决方案 -

  1. 有一个存储路径的字段。然后,您可以通过模板访问它,例如<img src="{{author.photo_path}}">

  2. 如果您说路径可能会发生变化,您可以拥有每个用户的用户ID,并将该照片存储为该ID。然后,您只需执行<img src="/path/{{author.id}}_picture.gif">

  3. 即可

    使用第二个解决方案,您还可以将路径作为代码中的变量,然后将其传递给模板,并像这样访问图片 - <img src="/{{path}}/{{author.id}}_picture.gif">,它不会强制您拥有硬编码路径,一旦路径发生变化,您只需更改一次,而不是在所有模型实例/模板文件中