2012-05-11 17 views
1

this jQuery file uploaderを私のDjango管理パネルに追加することができれば本当に素晴らしいですが、私はDjangoを初めて使い始めています。誰かが私にいくつかのアイデアを与えて、ここで正しい方向に向けることができますか?jQueryファイルをDjango管理者に追加する

+0

[django-directupload](https://github.com/cuker/django-directupload)を試したことがありますか? – ilvar

+0

それは面白そうに見えます。以前に使ったことがありますか?私は仕事に苦労しているのです – HighLife

+0

いいえ:)あなたはどんな問題がありますか? – ilvar

答えて

1

これはあなたにとって便利だと思います。あなたは、次のコマンドによって、jQueryのファイルアップロードに基づいてフォームを管理ジャンゴに追加されたパッケージジャンゴ管理者-multiuploadを、インストールすることができます

{% block extrahead %}{{ block.super }} 
<script type="text/javascript" src="/static/js/admin/app/model/uploadjq.js"></script> 
{% endblock %} 
0

:あなたのような、テンプレートファイルに埋め込むことができます

pip install git+git://github.com/gkuhn1/django-admin-multiupload.git 

それとも使い方のhttps://github.com/gkuhn1/django-admin-multiupload.git 例からプロジェクトにクローン:

ギャラリーや画像のモデルがある
from django.contrib import admin 
from django.shortcuts import get_object_or_404 

from gallery.models import Gallery, Image 

from multiupload.admin import MultiUploadAdmin 

class ImageInlineAdmin(admin.TabularInline): 
    model = Image 


class GalleryMultiuploadMixing(object): 

    def process_uploaded_file(self, uploaded, gallery, request): 
     if gallery: 
      image = gallery.images.create(file=uploaded) 
     else: 
      image = Image.objects.create(file=uploaded, gallery=None) 
     return { 
      'url': image.file.url, 
      'thumbnail_url': image.file.url, 
      'id': image.id, 
      'name': image.filename 
     } 

class GalleryAdmin(GalleryMultiuploadMixing, MultiUploadAdmin): 
    inlines = [ImageInlineAdmin,] 
    multiupload_form = True 
    multiupload_list = False 

    def delete_file(self, pk, request): 
     ''' 
     Delete an image. 
     ''' 
     obj = get_object_or_404(Image, pk=pk) 
     return obj.delete() 


class ImageAdmin(GalleryMultiuploadMixing, MultiUploadAdmin): 
    multiupload_form = False 
    multiupload_list = True 


admin.site.register(Gallery, GalleryAdmin) 
admin.site.register(Image, ImageAdmin) 

from django.db import models 

# Create your models here. 

class Gallery(models.Model): 
    class Meta: 
     verbose_name_plural = 'Galleries' 
    title = models.CharField('Title', max_length=20) 

    def __str__(self): 
     return self.title 


class Image(models.Model): 
    file = models.FileField('File', upload_to='images/') 
    gallery = models.ForeignKey('Gallery', related_name='images', blank=True, null=True) 

    def __str__(self): 
     return self.filename 

    @property 
    def filename(self): 
     return self.file.name.rsplit('/', 1)[-1] 
+0

django -admin-multiuploadは、jqueryファイルアップロードプラグインを使用した複数のファイルアップロードの基本的な管理サポートのために私のために働いていました。 –

関連する問題