Django管理多个照片上传

时间:2012-02-25 14:19:54

标签: django file-upload admin

我必须创建一个博客发布系统,我需要在Django Admin中上传多张照片,并通过Django TinyMCE选择它。其中一个解决方案是Filebrowser,但我已经花了几天时间而没有工作。还有其他选择吗?

2 个答案:

答案 0 :(得分:2)

我正在尝试做类似的事情,但不是Tinymce,我选择wmd。 我创建了两个模型,一个用于博客文章,一个用于图像,在管理界面中我将图像包含为内联。这是一些例子。

在你的model.py文件中:

class Project(models.Model):
  ...
  #TinyMce field.
  description = models.TextField()  

class ProjectImage(models.Model):
  image = models.ImageField(upload_to='prjimages/%Y/%m/%d/%H/%M/%S/')
  project = models.ForeignKey(Project)

比在admin.py文件中,可以将PostImage作为内联。

from django.contrib import admin
from models import *

class ProjectImageAdmin(admin.ModelAdmin):
  pass

class ProjectImageInline(admin.StackedInline):
  model = ProjectImage
  max_num=10
  extra=0

class ProjectAdmin(admin.ModelAdmin):
  inlines = [ProjectImageInline,]

admin.site.register(ProjectImage, ProjectImageAdmin)
admin.site.register(Project, ProjectAdmin)

您可以更改ImageField小部件以显示网址,也可以预览每个图像(目前我没有此示例代码)。如果用户想要在帖子中包含图像,他只需将网址粘贴到Tinymce即可。

这不是一个完整的解决方案,但也许您可以通过一些工作来扩展它以满足您的需求。

答案 1 :(得分:0)

你应该看一下Dropzone.js,你可以轻松地将多个图像拖放到管理页面。