2011-03-27 12 views
7

में अंगूठे नहीं दिख रहा है मुझे Django 1.3 के साथ django-grappeli और sorl-थंबनेल का उपयोग कर परेशानी हो रही है। मैं एक परियोजना अधिकारी sorl-थंबनेल डॉक्स से इस कोड का उपयोग करता है:सोरल थंबनेल AdminImageMixin

# myapp/admin.py 
from django.contrib import admin 
from myapp.models import MyModel 
from sorl.thumbnail.admin import AdminImageMixin 

class MyModelAdmin(AdminImageMixin, admin.ModelAdmin): 
    pass 

इस परियोजना डिबग सर्वर के साथ अच्छी तरह से काम करता है और एक अच्छी छोटी थंबनेल व्यवस्थापक के परिवर्तन के रूप में प्रकट होता है।

बहरहाल, एक अन्य परियोजना में, मैं अपने प्रोजेक्ट WSGI के तहत वितरित कर रहा हूँ और मैं 3 अलग डोमेन है:

www.example.com 
media.example.com (that's serving user uploaded files) 
static.example.com (that's serving static files) 

हालांकि, इस परियोजना में, AdminImageMixin ठीक नहीं थंबनेल को छोड़कर काम करता है changeform में उपलब्ध है एक मॉडल के लिए:

  • यह सही जगह
  • यह डाटाबेस क्षेत्र (अपलोड/+ picture_name.jpg) में सही पाठ डालता में चित्र अपलोड करता है (मैं phpmyadmin के साथ इस सत्यापित)
  • यह ब्राउज़ बटन के अलावा के रूप में किसी भी थंबनेल प्रदर्शित नहीं करता है (जैसे मैं करने के लिए इस्तेमाल कर रहा हूँ)

यहां कुछ नमूना कोड है:

# models.py 
class Category(models.Model): 
    name = models.CharField(max_length=200, verbose_name='name', help_text='Name of category') 
    description = models.TextField(verbose_name='Description', help_text='You can use Textile') 
    icon = ImageField(upload_to='uploads/', blank=True, null=True) 

# admin.py 
class CategoryAdmin(AdminImageMixin, admin.ModelAdmin): 
    pass 
admin.site.register(Category, CategoryAdmin) 

# settings.py 

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'grappelli', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    'django_evolution', 
    'django_extensions', 
    'sorl.thumbnail', 
    # Uncomment the next line to enable admin documentation: 
    # 'django.contrib.admindocs', 
) 

किसी भी ideea क्या मैं मैं गलत कर रहा हूँ?

अग्रिम धन्यवाद।

उत्तर

0

क्या आपको sorl.thumbnail को अपने INSTALLED_APPS में रखना याद रखना और इसके बाद डेटाबेस को सिंक करना याद रखना था। यदि आपके पास कुंजी मूल्य जोड़े के लिए कोई तालिका नहीं है और यह काम नहीं करेगा। मुझे लगता है कि आप डिफ़ॉल्ट डेटाबेस का उपयोग अपने मुख्य मूल्य भंडारण के रूप में कर रहे हैं, लाल नहीं।

0

मैं एक ही समस्या में भागता हूं, यह पता चला कि मैंने स्थापित पीआईएल को वास्तविक थंबनेल बनाने के लिए जेपीईजी समर्थन नहीं दिया है, हालांकि यह कभी भी कोई त्रुटि नहीं दिखाता है। यह मैं इसे कैसे तय है:

  • jpeg समर्थन

    sudo apt-get install libjpeg libjpeg-dev 
    

मैक पर स्थापित:

brew install jpeg 
  • जनहित याचिका

    को पुनर्स्थापित
    pip install -I PIL 
    

recompiling यह दिखाना चाहिए कि jpeg समर्थन उपलब्ध है के बाद, अपने व्यवस्थापक पृष्ठ ताज़ा करें और आप थंबनेल देखना चाहिए।

0

यदि कोई फ़ील्ड सही विजेट का उपयोग कर रहा है तो डीबगर से जांचें।

  • Django-mptt: MPTTModelAdmin
  • Django-modeltranslation: TranslationAdmin
  • sorl-थंबनेल: AdminImageMixin

मैं एक ही समस्या है जब मैं 3 अलग व्यवस्थापक वर्गों से इनहेरिट किया गया था

मुझे पूरा यकीन है कि (मेरे मामले में) django-modeltranslation विज्ञापन से छवि फ़ील्ड फ़ील्ड के "विजेट" विशेषता को बदलने वाले सॉर्ल-थंबनेल के व्यवहार को ओवरराइड कर रहा है minImageWidget।

मैं AdminImageWidget के लिए विजेट के लिए मजबूर किया इस तरह get_form समारोह पर:

def get_form(self, request, obj=None, **kwargs): 
    kwargs = self._do_get_form_or_formset(request, obj, **kwargs) 
    form = super(CategoryAdmin, self).get_form(request, obj, **kwargs) 

    form.base_fields['background'].widget = AdminImageWidget() 

    return form 

इस बिंदु मिश्रण AdminImageMixin का उपयोग कर पर वैकल्पिक है।

संबंधित मुद्दे