2009-12-10 13 views
7

To jest dziwne: Zainstalowałem i skonfigurowałem django-tinymce, ale wydaje się, że nie działa z adminem Django.django admin Integracja TinyMCE

to działa prawidłowo z Safari:

class ArticleAdmin(admin.ModelAdmin): 
    formfield_overrides = { 
     models.TextField: {'widget': TinyMCE(attrs={'cols': 80, 'rows': 20},)}, 
    } 

ale robi nie prac w Firefoksie.

Wystarczy dodanie js nie działa albo:

class Media: 
    js = ['/media/js/tiny_mce/tiny_mce.js'] 

Próbowałem różnych kombinacji ścieżki: z/bez wiodący ukośnik, z/bez bitu „Media”, nawet absolutnie bezwzględną http://localhost:8008/ .. Nic dla mnie nie działało.

Duży tłuszcz jednakże: używanie własnego tinymce grappelliego działa zarówno w firefox, jak i safari (po dodaniu safari do tinymce_config.js). Masz pojęcie, co może pójść nie tak?

Django 1.1 django-Grappelli 2RC Django-TinyMCE 1,5 FF 3,5 Safari 4 na MacOS X 10,5

+1

snipped requieres następny import: od importu tinymce.widgets T inyMCE, z modeli importu django.db – panchicore

+0

Prawdopodobnie sprawdzenie wyjścia z konsoli Firebug da ci kilka wskazówek. Miałem podobny problem, gdy pakiety językowe TinyMCE nie mogły się załadować. Ponadto, jak wspomniano w poprzednim komentarzu, upewnij się, że importujesz 'modele' z' django.db', ​​a nie ze swojej aplikacji. – zag

Odpowiedz

1

rigth ścieżka js jest 'js/tiny_mec/tiny_mce.js' przy okazji jeśli używasz serwera deweloperskiego, czy udostępniasz swoje pliki statyczne na serwerze WWW?

+1

Tak, skonfigurowałem serwer dev, aby obsługiwał moje pliki statyczne. Odkryłem, że grappelli może w jakiś sposób zderzyć się z tiny_mce działającym w trybie prostym. Ustawienie tego na tryb zaawansowany pomaga, ale w końcu zdecydowałem się na zmianę na malutkie grappelli. – Andy

0

Spróbuj tego:

from tinymce.widgets import TinyMCE 

class ArticleForm(forms.ModelForm): 
    formfield_overrides = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 20})) 

    class Meta: 
     model = Article 

class ArticleAdmin(admin.ModelAdmin): 
    ...... 
    form = ArticleForm 

    class Admin: 
     js = ('js/tiny_mce/tiny_mce.js', 
      'js/tiny_mce/textareas.js', 
     )