Django的:什么是一个真棒插件,以保持管理的图片?

我有一个文章录入模式,我有一个摘录和说明字段。 如果用户希望发布一个图像,然后我有一个单独的ImageField具有默认的标准文件浏览器。

我已经尝试使用django-filebrowser但我不喜欢它需要事实django-grappelli我也不一定要闪光上传工具-任何人都可以推荐一个工具,在那里我可以管理图片上传,基本上替换文件浏览与imagepicking浏览器所提供的Django的?

在未来我可能希望它处理的图像缩放,并指定默认的图像大小为某些文章类型。

编辑:现在我尝试adminfiles但我有问题,安装它。 我抓住了它,并把它添加到我的Python路径,将其添加到INSTALLED_APPS,创建的数据库的话,上传的图像。 我按照说明修改我的模型,以指定adminfiles_fields和注册,但它不是应用在我的管理,这是我的admin.py的文章:

from django.contrib import admin from django import forms from articles.models import Category, Entry from tinymce.widgets import TinyMCE from adminfiles.admin import FilePickerAdmin class EntryForm( forms.ModelForm ): class Media: js = ['/media/tinymce/tiny_mce.js', '/media/tinymce/load.js']#, '/media/admin/filebrowser/js/TinyMCEAdmin.js'] class Meta: model = Entry class CategoryAdmin(admin.ModelAdmin): prepopulated_fields = { 'slug': ['title'] } class EntryAdmin( FilePickerAdmin ): adminfiles_fields = ('excerpt',) prepopulated_fields = { 'slug': ['title'] } form = EntryForm admin.site.register( Category, CategoryAdmin ) admin.site.register( Entry, EntryAdmin )

这是我的入门型号:

class Entry( models.Model ): LIVE_STATUS = 1 DRAFT_STATUS = 2 HIDDEN_STATUS = 3 STATUS_CHOICES = ( ( LIVE_STATUS, 'Live' ), ( DRAFT_STATUS, 'Draft' ), ( HIDDEN_STATUS, 'Hidden' ), ) status = models.IntegerField( choices=STATUS_CHOICES, default=LIVE_STATUS ) tags = TagField() categories = models.ManyToManyField( Category ) title = models.CharField( max_length=250 ) excerpt = models.TextField( blank=True ) excerpt_html = models.TextField(editable=False, blank=True) body_html = models.TextField( editable=False, blank=True ) article_image = models.ImageField(blank=True, upload_to='upload') body = models.TextField() enable_comments = models.BooleanField(default=True) pub_date = models.DateTimeField(default=datetime.datetime.now) slug = models.SlugField(unique_for_date='pub_date') author = models.ForeignKey(User) featured = models.BooleanField(default=False) def save( self, force_insert=False, force_update= False): self.body_html = markdown(self.body) if self.excerpt: self.excerpt_html = markdown( self.excerpt ) super( Entry, self ).save( force_insert, force_update ) class Meta: ordering = ['-pub_date'] verbose_name_plural = "Entries" def __unicode__(self): return self.title

编辑#2:为了澄清我没有将媒体文件到我的媒体路径,他们确实是在渲染图像区域,我可以上传精细<<<image>>>标签插入我的编辑MarkItUp瓦特/降价区域,但它不是呈现在MarkItUp预览-也许我只需要在申请|upload_tags到该预览。 我会尝试将它添加到我的模板,岗位的文章,以及。

--------------解决方案-------------

尝试Django的adminfiles - 它的真棒。 您可以上传图片,或者选择现有的,和文字,在那里他们将被显示为内的任何地方插入它们<<<placeholders>>> 。 你完全控制如何占位符解决实际现场,用特殊的模板 - 允许您控制如何将图像显示在网站(包括缩放,例如使用sorl.thumbnail模板标签)。

该应用程序可以轻松地支持其他类型的插入文件 - 您只需创建一个模板,对于一个给定的文件类型,显示它应该如何在您的网站出现。 它甚至还支持从闪烁和YouTube插入。

正如你所看到的,我还真是引发关于发现它:)

它看起来像这样在你的管理面板(虽然截图是从一个非常旧版本):

Django的:什么是一个真棒插件,以保持管理的图片?

更新 :您可以完全控制如何将图像显示在以上。 一些例子:

  1. 对于主文章页面我想要的默认图像显示风格,所以这就是我写我的模板(这将根据我在默认adminfiles定义的规则,使图像/渲染/图像/ default.html模板):

    {{ article.content|render_uploads }}
  2. 但是,让我们说,在我的电子邮件通讯,我不想嵌入图像 - 我只是想链接到它。 我会写这个模板中(这将根据我在adminfiles / render_as_link / default.html模板中定义的规则作出的图像):

    {{ post.content|render_uploads:"adminfiles/render_as_link" }}
  3. 我不希望有图像嵌入代码(或任何其他HTML为此事)在我的搜索索引,所以在我的Django草垛模板,我就是这样做是为了删除所有的HTML:

    {{ article.content|render_uploads|striptags }}
  4. 或者,我可以做到这一点,以索引图像“字幕(但不是图像本身;再次,这是假定你有adminfiles / only_caption / default.html模板建立起正确的代码):

    {{ article.content|render_uploads:"adminfiles/only_caption" }}
  5. 好了,但如果我想要的东西保留其他所有HTML格式,但不希望显示图像? 我将创建一个空的adminfiles/blank/default.html文件,并为此:

    {{ article.content|render_uploads:"adminfiles/blank" }}

还有,你可以(通过选择合适的,例如达到同样效果的其它方法ADMINFILES_REF_STARTADMINFILES_REF_END并没有使用过滤器的话),但我认为这个帖子是太长了;)

格拉佩利是不要求使用的django-filebrowser。 我用这个实现的只是我的项目全部:https://github.com/wardi/django-filebrowser-no-grappelli

快乐编码!

分类:Django的 时间:2015-03-15 人气:4
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.838 (s). 10 q(s)