0

Я пытаюсь получить виджет Django TinyMCE с Django Flatpages (в Admin).Использование Django Flatpages с TinyMCE

Я уже прочитал это Embedding tinyMCE in django flatpage

Я сделал SABE, но не работает. Вот мой admin.py код:

from django.contrib.flatpages.admin import FlatpageForm, FlatPageAdmin 
from django.contrib.flatpages.models import FlatPage 
from tinymce.widgets import TinyMCE 
from django.contrib import admin 


class PageForm(FlatpageForm): 

    class Meta: 
     model = FlatPage 
     widgets = { 
      'content': TinyMCE(attrs={'cols': 100, 'rows': 15}), 
     } 


class PageAdmin(FlatPageAdmin): 
    """ 
    Page Admin 
    """ 
    form = PageForm 

admin.site.unregister(FlatPage) 
admin.site.register(FlatPage, PageAdmin) 

Мой сайт работает хорошо, без erros, можно редактировать или создать новый Django Flatpage но виджет не появляется. Есть идеи?

ответ

0

я сделал что-то другое, и мне не хватало в «поля» свойство в мета-класса, после нового кода, тестирование и запуск:

from django.contrib.flatpages.admin import FlatpageForm, FlatPageAdmin 
from django.contrib import admin 
from django import forms 
from django.contrib.flatpages.models import FlatPage 
from tinymce.widgets import TinyMCE 


class FlatPageForm(forms.ModelForm): 
    content = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30})) 

    class Meta: 
     model = FlatPage 
     fields = '__all__' 


class PageAdmin(FlatPageAdmin): 
    """ 
    Page Admin 
    """ 
    form = FlatPageForm 


admin.site.unregister(FlatPage) 
admin.site.register(FlatPage, PageAdmin) 
1

Принятая ответ не работает для меня (Джанго 1,10), так это то, что сработало для меня.

  1. Вначале я создал новое приложение под названием content в моем проекте, чтобы оно было организовано.

    manage.py startapp content 
    
  2. Я добавил это к моему admin.py

    from django.contrib import admin 
    from django.contrib.flatpages.admin import FlatPageAdmin 
    from django.contrib.flatpages.models import FlatPage 
    from django.db import models 
    from tinymce.widgets import TinyMCE 
    
    
    # Register your models here. 
    class PageAdmin(FlatPageAdmin): 
    """ 
    Page Admin 
    """ 
    formfield_overrides = { 
        models.TextField: {'widget': TinyMCE(attrs={'cols': 100, 'rows': 15})}, 
    } 
    
    
    admin.site.unregister(FlatPage) 
    admin.site.register(FlatPage, PageAdmin) 
    
  3. Наконец запустить manage.py collectstatic, перезапустить веб-сервер и обновить.

Смежные вопросы