2011-03-29 109 views
9

有没有一种简单的方法在Django的管理界面中包含文件上传功能?我看到这个question,但我不熟悉Javascript。使用Django Admin上传图片?

是否有任何magick我可以添加到models.py或admin.py文件,这将允许我轻松地使用Django的内置CMS系统做到这一点?

背景:

我试图创建的名人,其中包括他们的生物,出生日期的数据库,我想包括档案图片去用它。这是我正在研究我的Django/Python的一个迷你项目的一部分。

谢谢。

回答

22

原谅我,如果我错了,但它听起来就像你不需要什么比默认的admin小部件更多的ImageField.

这满足:使用Django管理

  1. 上传图片
  2. 包括个人资料图片(单数)与名人一起去。

此外,您指向的链接已经很老了。 django管理员发布的JavaScript现在随意使用任意长的内联(至少一年我会认为),所以如果你想要多个图像,只需设置第二个模型,该模型对你的个人档案模型有一个外键。设置an admin inline,你已经开箱即可使用!

class Celebrity(models.Model): 
    name = models.CharField() 

class Image(models.Model): 
    celebrity = models.ForeignKey(Celebrity) 
    image = models.ImageField() 

class InlineImage(admin.TabularInline): 
    model = Image 


class CelebrityAdmin(admin.ModelAdmin): 
    inlines = [InlineImage] 

admin.site.register(Celebrity, CelebrityAdmin) 
+1

正如我假设奈预计上传的图片的一些更多的调整是可以做到的自动缩略图预览:http://stackoverflow.com/questions/1385094/django-admin-and-showing-thumbnail-images – arie 2011-03-29 07:57:10

+0

我想这是可能的。他的链接和他的语言都是关于上传的,所以它并没有跨越我的想法。 – 2011-03-29 13:26:49